如何从输入文件中获取字符 '\n'?

郭世琳

我正在尝试从 Linux / Mint 上的 txt 文件中获取输入数据。因此,在编译代码后,我运行以下命令: ./a.out output.txt 我需要填充一个二维数组,但就像一个锯齿状数组(每行的列数不同)。所以我想通过查看从文件中读取的字符来拆分它。如果字符是'\n',我想填充第二行。但我想我看不懂 '\n' 字符。我希望我能解释这个问题。我正在写代码,也许会更清楚。

我的 input.txt 文件是:

在此处输入图片说明

我的 C++ 代码部分用于获取输入:

for (int i = 0; i<n; i++) {
    char ch;
    cin >> ch;
    int j = 0;
    while (ch != '\n') {
        arr[i][j] = ch;
        cin >> ch;
        j++;
    }
}

我想要的是,如果字符等于 '\n' 然后程序继续将数组填充到下一行。

arr[0][0] = 'a';
arr[0][1] = 'f'
arr[0][2] = 'h'

arr[1][0] = 'b'
arr[1][1] = 'e'
arr[1][2] = 'g'

arr[2][0] = 'c' .......)
帕维尔

当你这样做时,cin >> ch它会跳过空白,包括空格、制表符和换行符。也许,您需要使用std::getline读取整行,然后分别处理每一行。

例如:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main()
{
    char ch;
    std::string line;
    int ln = 0;
    while (getline(cin, line)) // read entire line
    {
        istringstream is;
        is.str(line);
        while (is >> ch) // now read individual chars from that line
            cout << "line: " << ln << " char: " << ch << endl;
        ln++;
    }
}

你的循环应该是这样的:

std::string line;
for (int i=0; i<n; ++i)
{
    char ch;
    if (!std::getline(cin, line))
        break;
    std::istringstream is;
    is.str(line);
    for (int j=0; is >> ch; ++j)
        arr[i][j] = ch;
}

您省略了有关如何声明 的详细信息arr,但您显示的代码似乎无法正确处理它。也许,使用向量会更好:

std::vector<std::vector<char> > arr;
std::string line;
char ch;
while (std::getline(cin, line)) // cin should probably be replaced with ifstream
{
    std::istringstream is;
    is.str(line);
    arr.push_back(vector<char>());
    for (int j=0; is >> ch; ++j)
        arr.back().push_back(ch);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试从输入文件中获取字符

来自分类Dev

如何获取字符串中的最后n个字母

来自分类Dev

如何在Java中的第n个“-”(破折号)之后获取字符串?

来自分类Dev

如何获取字符串中的n个最后一个字母

来自分类Dev

如何在文件中的两个\ n之间提取字符串

来自分类Dev

从 rails pluck 中获取字符串以显示 n

来自分类Dev

如何从输入字符串中获取字符数?

来自分类Dev

在获取字符串时,如何将字符串复制到另一个用'\ n'字符分隔的数组中?

来自分类Dev

Razor-如何获取字符串的n个数字字符?

来自分类Dev

如何获取字符串的前n个字符,但以整个单词结尾

来自分类Dev

在ksh中获取字符串的最后n个字符

来自分类Dev

在Python中获取字符串的前n个字符的最佳方法

来自分类Dev

如何从输入框中获取字符串?

来自分类Dev

如何读取字符串直到输入结束,并读取行直到在C中找到\ n?

来自分类Dev

如何从bash中的文件中获取字符串?

来自分类Dev

获取字符串中字母的第n次出现(python)

来自分类Dev

C 获取字符串中的第 n 个单词

来自分类Dev

获取字符串中第 n 个出现的索引

来自分类Dev

如何获取String中字符的(n)索引?

来自分类Dev

如何获取String中字符的(n)索引?

来自分类Dev

如何使用php从文件中获取字符串

来自分类Dev

从n个输入文件中获取最大向量MATLAB

来自分类Dev

从文件中读取字符串时,String.split不会与\ n分开

来自分类Dev

如何在文本文件中读取字符并获取字符长度?

来自分类Dev

从(“ \ n”)换行符获取字符串

来自分类Dev

从文件中获取字符串

来自分类Dev

如何从元组列表中获取字符

来自分类Dev

如何从 ASCII 数字中获取字符

来自分类Dev

如何在输入按钮属性jQuery中获取字符串数据

Related 相关文章

  1. 1

    尝试从输入文件中获取字符

  2. 2

    如何获取字符串中的最后n个字母

  3. 3

    如何在Java中的第n个“-”(破折号)之后获取字符串?

  4. 4

    如何获取字符串中的n个最后一个字母

  5. 5

    如何在文件中的两个\ n之间提取字符串

  6. 6

    从 rails pluck 中获取字符串以显示 n

  7. 7

    如何从输入字符串中获取字符数?

  8. 8

    在获取字符串时,如何将字符串复制到另一个用'\ n'字符分隔的数组中?

  9. 9

    Razor-如何获取字符串的n个数字字符?

  10. 10

    如何获取字符串的前n个字符,但以整个单词结尾

  11. 11

    在ksh中获取字符串的最后n个字符

  12. 12

    在Python中获取字符串的前n个字符的最佳方法

  13. 13

    如何从输入框中获取字符串?

  14. 14

    如何读取字符串直到输入结束,并读取行直到在C中找到\ n?

  15. 15

    如何从bash中的文件中获取字符串?

  16. 16

    获取字符串中字母的第n次出现(python)

  17. 17

    C 获取字符串中的第 n 个单词

  18. 18

    获取字符串中第 n 个出现的索引

  19. 19

    如何获取String中字符的(n)索引?

  20. 20

    如何获取String中字符的(n)索引?

  21. 21

    如何使用php从文件中获取字符串

  22. 22

    从n个输入文件中获取最大向量MATLAB

  23. 23

    从文件中读取字符串时,String.split不会与\ n分开

  24. 24

    如何在文本文件中读取字符并获取字符长度?

  25. 25

    从(“ \ n”)换行符获取字符串

  26. 26

    从文件中获取字符串

  27. 27

    如何从元组列表中获取字符

  28. 28

    如何从 ASCII 数字中获取字符

  29. 29

    如何在输入按钮属性jQuery中获取字符串数据

热门标签

归档