通过终端在文件中输入时检测 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;
}
或类似行,问题将得到解决!
我是 运行 我的代码并通过 .txt 文件提供输入 (./a.out<input.txt
),但它似乎无法识别文件结尾。
当我复制 ubuntu 中的内容时,它起作用了。我认为文件是在 MAC.
中创建的EOF 就像终端中的 CTRL+C 所以它应该停止执行代码但最后一个命令连续解析为输入。我无法更改文件(它是测试文件,格式不可更改。)。谁能帮我解决这个问题? 我附上了我的代码,但我认为这是文件问题。
编辑:我找到了解决方案。通过添加
if(!getline(cin, s)){
break;
}
或类似行,问题将得到解决!
我找到了解决方案。通过添加
if(!getline(cin, s)){
break;
}
或类似行,问题将得到解决!