【发布时间】:2017-08-29 21:13:25
【问题描述】:
(C++ 新手)
我有这个简单的代码(为问题简化):
int main()
{
string currInput;
while (getline(cin, currInput))
{
}
cout << "wont be printed" << std::flush;
return 0;
}
我已经调试了一段时间,我可能错过了一些东西:
当运行它并按下 ctrl+d (在某些字符串之后或立即)时,它不会打印 while 循环之后的字符串。它只是停止运行。我认为这可能与潮红有关,所以我也添加了它。 我错过了什么?
PS:在调试中运行时,它提到了一些关于 sighup 信号的内容。
【问题讨论】:
-
“它提到了一些关于 sighup 信号的事情” 您可能想要添加代码来忽略
SIGHUP信号。 -
我们还没有学过信号,我也找不到任何处理这个的例子,你有什么参考吗?
-
@kobi: 你是怎么运行那个程序的?
-
打开终端。启动程序。按 ctrl+d。
-
它似乎是这样工作的!都是cLion的错?有没有办法改变它的行为?你能在你的机器上用 cLion 试试吗(如果你安装了它)?