我刚刚开始使用Clion作为我的IDE,我正在努力解决从键盘输入的EOF。 如果我执行这个简单的 c++ 代码
#include <iostream>
int main(){
int sum = 0, value = 0;
//read until EOF, calculating a running total of all values read
while(std::cin >> value){
sum += value;
}
std::cout << "Sum is " << sum << std::endl;
return 0;
}
在Clion的运行窗口中,我从键盘输入后1 2 cmd+d
我明白了
1 2 ^D
Process finished with exit code 0
在MacOS中,EOF(带键盘(是Cmd+D。
在CLion中,可在以下位置设置:
键盘映射 ->搜索 EOF 并设置 Cmd+D。
但是,我建议您在代码中使用终止字符,例如零,在这种情况下不会更改结果。
CLion 中的执行示例
这是 Windows 上 CLion 的一些已知问题。在注册表中禁用 run.processes.with.pty(通过查找操作打开(通常会有所帮助。
在某些环境中,EOF 仿真是使用 Ctrl+Z 组合而不是 Ctrl+D 执行的
为避免此类问题 - 使用要输入"1 2"的内容创建文件
并从终端运行程序,将标准输入重定向到从文件中读取。在这种情况下,EOF 事件将始终发生在输入的末尾。
$./test < myinputfile.txt