我看过这个例子,关于从文件流中提取字符的istream get方法。
基本上,我不希望我的程序读取空行,但是它跳到下一行,并给出一个错误,它无法读取下一行-而实际上它不应该读取空行。
无论如何,这是我遵循的http://www.cplusplus.com/reference/istream/istream/get/教程,这是我的代码
is.get(c)
if(c == '\0')
{
cout << "Blank line" << endl;
}
else
{
is.getline(...);
}
ignore whitespace...
is.getline(...);发布于 2014-11-24 05:43:56
您似乎有这样的印象:空白行以某种方式由一个空字符表示。事实并非如此。空白行只由行结束字符('\n',最初可能是行结束序列,但在重要的系统上,行结束序列在非std::ios_base::binary模式下被转换为行结束字符)组成。要检测空行,可以使用std::getline()读取一行,也可以使用std::istream::getline()读取一行,然后检查结果是否为空。
https://stackoverflow.com/questions/27094615
复制相似问题