通过终端在文件中输入时检测EOF(文件结尾)的问题

问题描述 投票:-1回答:1

我正在运行我的代码,并通过.txt文件(./a.out<input.txt)提供输入,但似乎无法识别文件结尾。

当我在ubuntu中复制内容时,它会起作用。我认为文件是在MAC中创建的。

EOF就像终端中的CTRL + C,因此它应该停止执行代码,但最后一条命令连续不断地解析为输入。我无法更改文件(它是测试文件,格式不可更改。)。谁能帮我解决这个问题?我已经附上了我的代码,但是我认为这是文件问题。

编辑:我找到了解决方案。通过添加

if(!getline(cin, s)){
   break;
}

或类似的行,问题将得到解决!

c++ c++11 ubuntu terminal eof
1个回答
0
投票

我找到了解决方案。通过添加

if(!getline(cin, s)){
   break;
}

或类似的行,问题将得到解决!

© www.soinside.com 2019 - 2024. All rights reserved.