2017-08-21 49 views
-1

我刚开始使用Clion作为我的IDE,而我正在从键盘输入的EOF中挣扎。 如果我执行这个简单的C++代码为什么如果我从键盘输入EOF Clion不要在Run窗口上打印程序的输出?

#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; 
} 

在克利翁的运行窗口后,我从键盘 1 2 cmd+d输入我得到这个

1 2 ^D 

Process finished with exit code 0 

回答

1

这是一些known issue与Windows上的CLion。禁用注册表中的run.processes.with.pty(通过查找操作打开)通常会有所帮助。

+0

谢谢!这个解决方法解决了我的问题,但请注意我使用的是Clio的MacOS版本。 – wing

1

在使用Ctrl键进行EOF仿真某些环境+ Z组合不是Ctrl + D

为了避免这样的问题 - 创建您想要输入内容的文件“1 2”

并从终端重定向标准输入以从文件读取运行程序。在这种情况下,EOF事件将始终在输入结束时发生。

$./test < myinputfile.txt 
2

在MacOS中,EOF(带键盘)是Cmd + D。
在克利翁是在设定在:

文件 - >首 - >键盘映射 - >搜索EOF,并设置为Cmd + d。


不过,我建议你在你的代码中使用终止字符如零,在this情况下,不改变结果。

Example of execution in CLion