我在linux上使用g ++但遇到了一个奇怪的问题。当试图读取以空行结尾的文件(只是' \ n')时,getline()只是跳过该行。我也尝试将其读作二进制,但结果相同。在Windows上,我能够检测到它是否有空行。在linux上没那么多。我怎样才能在linux上检测到它?
谢谢!
编辑: 尝试在此处发布代码时出现错误框: "您的帖子似乎包含未正确格式化为代码的代码。请使用代码工具栏按钮或CTRL + K键盘快捷键将所有代码缩进4个空格。如需更多编辑帮助,请单击[?]工具栏图标。"
但无论如何,它与使用getline()的文本文件部分下的this相同。
编辑2: 试图删除标签等,但仍然得到错误框。我试图用它包围它: < pre><代码> ...< / code>< / pre>
编辑3:
std::ifstream inFile(fileName);
if(!inFile)
{
std::cout << "Cannot open input file" << std::endl;
return;
}
std::string str;
while (getline(inFile, str))
{
std::cout << "#" << str << "#" << std::endl;
}
inFile.close();
std::ifstream inFile(fileName);
if(!inFile)
{
std::cout << "Cannot open input file" << std::endl;
return;
}
std::string str;
while (getline(inFile, str))
{
std::cout << "#" << str << "#" << std::endl;
}
inFile.close();
好的,必须选择所有文本然后按Ctrl + K.
编辑4: TextFile.txt的
}\n
然后输出是:
#}#
如果我将文件更改为:
}\n \n
然后输出是:
#}#
但我在期待:
#}# ##