我的程序尝试逐行读取stdin,直到收到ctrl + d:
int main(int argc, char ** argv) {
std::string inputLine;
// Read from stdin, until you get Ctrl+D
while(std::getline(std::cin, inputLine)) {
//Do some work...
}
return 0;
}
现在,一切正常,直到用户发送ctrl + D. 当用户输入ctrl + d时,程序崩溃:我得到了我的进程崩溃的Windows错误,并且CLion给了我这个错误消息:
处理完成,退出代码为-1073741819(0xC0000005)
当我在调试模式下运行代码时,这不会发生!它只在我使用CLion的“运行”按钮运行时才会发生。
我想我还应该注意到CLion配置为在ctrl + D上发送EOF,即使我在Windows上。
有什么想法吗?