通过终端在文件中输入时检测EOF(文件结束)时出现问题

Problem in detecting EOF (end of file) while giving input in a file via terminal

本文关键字:文件 结束 问题 EOF 检测 输入 终端      更新时间:2023-10-16

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

当我在ubuntu中复制内容时,它是有效的。我认为文件是在MAC中创建的。

EOF就像终端中的CTRL+C,所以它应该停止执行代码,但最后一个命令一直作为输入进行解析。我无法更改文件(这是测试文件,格式不可更改。(。有人能帮我解决这个问题吗?我已经附上了我的代码,但我认为这是文件问题。

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

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

或类似线路,问题将得到解决!

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

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

或类似线路,问题将得到解决!