当前位置: 首页 > 知识库问答 >
问题:

按下Control+Z后是否有继续输入的方法?

邢飞鸿
2023-03-14

场景是,我想让用户输入数字,无论他们想输入多少次,并且在他们按下Control+Z之后,他们应该仍然能够输入其他的东西。

using namespace std;
int main(){
    int a,b;
    while(cin>>a>>b) cout << a+b<<endl;
    cin >> a;
    cout << a;
}

虽然我知道可以通过让用户输入其他东西来终止循环,但是在按下Control+Z之后,是否有任何方法可以处理输入?

共有1个答案

夏侯星洲
2023-03-14

没有。重点是C++程序只看到输入字符流,而不是任何按键。当您按下control-Z(注意:这取决于shell/terminal)时,该流在您的程序外部被切断,因此您的程序内部没有任何东西可以改变这一点。就我们所知,输入可能来自一个文件,那么在一个文件的结尾后面阅读有什么意义呢?这就像在报纸上读最后一页后的一页。

在某些情况下,您可能能够访问终端,并使用所谓的诅咒库更接近按键。有很多不同的环境,但这些东西不是标准C++的一部分。

 类似资料:
  • 问题内容: 我正在处理数量未知的Ajax请求。该请求可能会在404中失败。这将导致整个链失败。 延期失败后,是否有继续的方法? 问题答案: 您必须创建自己的延迟对象,等待另一个延迟对象成功或失败。 在这种情况下,您的延期将始终得到解决。

  • 我正在尝试创建一个程序,向用户询问指数,然后获取指数并执行操作(e^exponent)。如果用户输入的值不是双精度值,程序会打印“无效输入”,并继续请求指数。但是,我无法让这段代码工作,当我在调试器中键入非双精度值时,它会无限打印“输入指数:无效输入”。

  • 我正在开发一个Android应用程序,我设计了一个弹出窗口,通过替换活动中的软键盘来显示一些视图。popupWindow包含一个searchView。当我点击一个按钮时,它显示弹出窗口,软键盘被隐藏。现在,当popupWindow中的searchView获得焦点时,我调用该方法: PopupWindow.set聚焦(真) 显示键盘,以便用户可以在searchView中开始键入。当searchVie

  • 我正在创建一个应用程序,其中我从服务器下载一些数据。在后台运行时,我希望连接应该继续运行,以便可以下载数据。我知道在app里有方法 当应用程序进入后台时调用。但由于连接是在viewController中创建的,如何在appDelegate中管理它 还有其他方法可以做到这一点吗?我已经通过了这个链接,但是有一个简单的实现方法吗?

  • 好的,所以我的程序工作正常,但最后它会询问用户是否要输入另一组整数,如果他们键入“是”,则该过程重新开始。我的程序正在重新开始,但它保留所有相同的用户输入,因此它只是不断重复其原始输入的相同输出。 这是我的代码 我当前的输出如下所示: 输入整数列表(以0结尾):1 输入整数列表(以0结尾):2 输入整数列表(以 0 结尾):-1 输入整数列表(以0结尾):3 输入整数列表(以0结尾):0 阳性数量

  • 这是我为CS类制作的文本冒险游戏的一小部分。你正在探索一座房子,你通过告诉游戏你想去北、南、东还是西来导航它 因此,我想添加一些内容,以便在输入无效输入时告诉您,如果您说拼写错误的单词,如Nroth、Suoth、Eas或Weast。这些只是例子,但希望你们知道我的意思,只要它不完全匹配北,南,东或西。在这段代码中,我将如何做到这一点? 我举了一个错误的例子,如果你在写“elif room==”的地