#include <iostream>
using namespace std;
int main()
{
int sum = 0;
cout << "Please input a series of integers and any number of spaces: ";
int i;
while( cin >> i )
{
sum += i;
while( cin.peek() == ' ' ) // isolate spaces
{
cin.get();
}
if( cin.peek() == '\n') // when press "enter"
{
break; // get out of loop
}
}
cout << "The result is: " << sum << endl;
cin.get();
return 0;
}
以上是我的代码。我尝试使用cin.get()在控制台窗口中显示结果,但是它不起作用。它显示了一个窗口闪烁。
最佳答案
您可以查看输入中是否有换行符。如果是这样,则将其保留在输入缓冲区中并退出循环,您的cin.get()
调用将读取该换行符。
如果您只想读取一行,那么我建议您使用 std::getline
读取该行,将其放入 std::istringstream
并从该流中读取数字。
还要注意,当使用>>
读取数字时,会读取并丢弃前导空格,因此您不必进行检查。
关于c++ - C++:如何在控制台窗口中显示结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44106075/