c++ - 通过终端在文件中输入时检测 EOF(文件结尾)的问题
问题描述
我正在运行我的代码并通过 .txt 文件(./a.out<input.txt
)提供输入,但它似乎无法识别文件结尾。
当我在 ubuntu 中复制内容时,它可以工作。我认为这些文件是在 MAC 中创建的。
EOF 就像终端中的 CTRL+C 一样,因此它应该停止执行代码,但最后一个命令不断地被解析为输入。我无法更改文件(它是测试文件,格式不可更改。)。谁能帮我解决这个问题?我附上了我的代码,但我认为这是文件问题。
编辑:我找到了解决方案。通过添加
if(!getline(cin, s)){
break;
}
或类似的线路,问题将得到解决!
解决方案
我找到了解决方案。通过添加
if(!getline(cin, s)){
break;
}
或类似的线路,问题将得到解决!
推荐阅读
- git - 无法在子模块根目录之外调用 git 函数是 git 子模块功能还是错误?
- ruby-on-rails - 在连接表中查找具有相同链接的条目
- sql-server - 如何检查 SSIS 包是否连接到服务器
- swift - Swift Tableview 可重用单元格问题
- windows-10-desktop - Outlook 365 与移动热点一起正常工作,但登录家庭 wifi 网络时不再工作
- python-3.x - 使用 Pandas + python3 确定市场随时间的趋势
- java - Visual Studio Code javaFX 设置
- javascript - 我应该为模态表单使用什么事件处理程序来发送电子邮件
- react-native - react-native-navigation 在 componentDidMount 中获取参数
- r - 提取哨兵2数据的像素值