我使用 cin 作为 while 循环的条件,它接受整数,除非输入文件结尾或字符。但是控制台窗口在结果之后就消失了。怎么才能长屏
#include<iostream>
using namespace std;
int main() {
int num = 0, sum = 0;
while (cin >> num) {
sum += num;
}
cout << "Sum is: "
<< sum
<< endl;
cout << endl;
cin.get();
return 0;
}
最佳答案
cin.get()
将使用换行符,该换行符是您使用“enter”提交的最后一个数字留在输入流中的。因此,下一个 cin.get()
(您希望在输出控制台消失之前等待下一个用户输入)不会等待其他输入,而是会立即返回。
要解决此问题,您可以忽略(参见 cppreference/ignore)任何内容,直到(并包括)缓冲区中的下一个新行,然后再读取下一项:
int main() {
int a;
cin >> a;
// do something with a, write to console, ...
cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
cin.get();
}
关于C++ cin 在 while 循环中使用,但控制台屏幕未保持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46517519/