【问题标题】:End of input in XTerm usnig keyboard使用键盘在 XTerm 中输入结束
【发布时间】:2013-07-28 19:01:46
【问题描述】:

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

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

【问题讨论】:

  • 哼。质疑 cin.eof() 怎么样?

标签: xterm c++


【解决方案1】:

总是需要阅读后检查输入,即您的程序应如下所示:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多