C++ 为什么我从键盘Clion don输入EOF';是否在运行窗口打印程序的输出?
我刚开始使用Clion作为我的IDE,我正在努力处理从键盘输入的EOF。 如果我执行这个简单的C++代码< /p>C++ 为什么我从键盘Clion don输入EOF';是否在运行窗口打印程序的输出?,c++,clion,C++,Clion,我刚开始使用Clion作为我的IDE,我正在努力处理从键盘输入的EOF。 如果我执行这个简单的C++代码< /p> #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 += valu
#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;
}
在某些环境中,EOF仿真是使用Ctrl+Z组合而不是Ctrl+D来执行的 为避免此类问题,请创建包含要输入“1 2”的内容的文件 并从终端运行程序,将标准输入重定向到从文件读取。在这种情况下,EOF事件总是发生在输入端
$./test < myinputfile.txt
$。/test
这是一些在Windows上使用CLion的软件。禁用注册表中的run.processs.with.pty(通过查找操作打开)通常会有所帮助。在MacOS中,EOF(带键盘)是Cmd+D。在CLion中可设置为: 文件->首选项->键映射->搜索EOF并设置Cmd+D
但是,我建议您在代码中使用一个终止字符,例如零,以防不会改变结果
谢谢!这个解决方法解决了我的问题,但请注意,我使用的是MacOS版本的Clion。
$./test < myinputfile.txt