0

如何向输入端发送 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;
}

程序在从终端接收到输入信号结束时继续。

4

1 回答 1

1

总是需要在阅读检查输入,即你的程序应该是这样的:

while (std::cin >> name >> age) {
    // do something with name and age
}

这将读取std::cin直到出现故障。您可以检查是否std::cin.eof()设置为确定是否已到达输入的末尾是导致错误的原因或是否存在其他故障,例如,尝试输入不是age.

于 2013-07-28T23:36:35.187 回答