通过终端在文件中输入时检测EOF(文件结束)时出现问题
Problem in detecting EOF (end of file) while giving input in a file via terminal
我正在运行我的代码,并通过.txt文件(./a.out<input.txt
(提供输入,但它似乎无法识别文件结尾。
当我在ubuntu中复制内容时,它是有效的。我认为文件是在MAC中创建的。
EOF就像终端中的CTRL+C,所以它应该停止执行代码,但最后一个命令一直作为输入进行解析。我无法更改文件(这是测试文件,格式不可更改。(。有人能帮我解决这个问题吗?我已经附上了我的代码,但我认为这是文件问题。
编辑:我找到了解决方案。通过添加
if(!getline(cin, s)){
break;
}
或类似线路,问题将得到解决!
我找到了解决方案。通过添加
if(!getline(cin, s)){
break;
}
或类似线路,问题将得到解决!
相关文章:
- 通过终端在文件中输入时检测EOF(文件结束)时出现问题
- 带有文件结束函数的 while 循环重复输出文件中的最后一个数字两次
- 触发文件结束的原因
- 从 ifstream 读取,直到文件结束
- C++:读取.BMP文件时出现问题;文件结束时间早于预期
- C 功能:读取直到文件结束 - 查找代码中的错误
- C :在文件结束时GetLine冻结
- 表示文件结束
- 如何让程序知道当我使用 while(cin>> 时文件结束
- 文件结束输入不起作用
- 使用RAII写入文件结束标记
- 在文件结束后继续输入
- .hpp 文件上的意外文件结束错误
- 读取:ASIO中的文件结束.插座为什么要关上
- 防止包括从hxx(模板定义)文件结束头
- fstream对象的文件结束
- 文件不会重复自己,直到文件结束
- 文件结束检查不起作用 (C++)
- 语法错误,意外的标记,期望文件结束
- 如何模拟文件结束