如何向XTerm终端发出输入结束信号。在我的例子中,我在XTerm控制台中运行一个C ++程序,我想通过按某些键盘按钮组合来向程序发出输入结束信号。(我试过Ctrl + D Ctrl + Z)。我的程序是这样的:
map<int,string>info;
string name;
int age;
cin>>name;
while( **?????????** ){ //Input till EOF , missing logic
cin>>age;
info.insert( pair<int,string>(age,name) );
cin>>name;
}
程序在收到来自终端的输入信号结束时继续。
答案 0 :(得分:1)
您始终需要检查输入 后的输入,即您的程序应如下所示:
while (std::cin >> name >> age) {
// do something with name and age
}
这将从std::cin
读取,直到出现故障。您可以检查是否设置std::cin.eof()
以确定是否已到达输入的结尾是错误的原因还是存在其他一些失败,例如,尝试输入不是数字的数字age
。