如何从文件中读取一行文本而不跳过空行?



我有一些输入文件,看起来像这样:

asdfasfasfas....
asdfasdfasd....
asdfasdf....
asdfsadf...

我希望能够逐行读取整行,而不跳过中间的空白行。我该怎么做呢?每行都没有空格,但是如果我简单地读入并处理为:

 std::string line;
 file >> line;
 Foo(line);

然后跳过第二行,直接跳到第二行。我不希望这种事发生。我该如何解决这个问题?

您可以使用getline逐行读取,而operator>>将跳过空格。

std::string line;
while (std::getline(std::cin, line)) {
    std::cout << line << 'n';
}

读取每一行,每次一行,直到文件结束,并在屏幕上显示它们。

默认情况下,std::istream::operator>>格式化输入,这(除其他事项外)意味着所有空白被删除。对于任何类型的空白(包括换行符),您需要未格式化的输入get, read, getline,和一些其他的

您也可以一个字符一个字符地读取,直到行尾,并将其存储在数组中,然后将文件指针移动到下一行,以此类推。

相关内容

  • 没有找到相关文章

最新更新