Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么我从键盘Clion don输入EOF';是否在运行窗口打印程序的输出?_C++_Clion - Fatal编程技术网

C++ 为什么我从键盘Clion don输入EOF';是否在运行窗口打印程序的输出?

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

我刚开始使用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 += 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