按control+Z后有没有办法继续输入?

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

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

虽然我知道可以通过让用户输入其他内容来终止循环,但是在按下 control+Z 后是否可以使用输入?

回答

不,没有。关键是 C++ 程序只能看到输入字符流,而不是任何按键。当您按 control-Z 时(注意:这取决于外壳程序/终端),该流在您的程序之外被切断,因此您的程序内没有任何内容可以改变它。就我们所知,输入可能来自一个文件,读取文件末尾的意义是什么?这就像阅读报纸最后一页之后的一页。

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


以上是按control+Z后有没有办法继续输入?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>