【问题】在 C++中如何实现在命令窗口中结束数据的输入?
#include<iostream>
using namespace std;
int main()
{
int sum = 0, value = 0;
while (**cin >> value**)
sum += value;
cout << "sum is: " << sum << endl;
return 0;
}
我们在命令窗口中输入数据后该如何结束输入呢?
【解决方法】
在上述代码中while循环的循环条件是一个istream对象cin >> value作为条件,其条件为假的前提是检测流的状态为无效。当遇到文件结束符(在Windows系统中键盘输入为Ctrl+Z,即同时按住Ctrl键和Z键;在Mac OS X系统中Ctrl+D),或遇到一个无效的输入时(例如这里要求输入int型的,如果输入的不是一个整数的话,就是一个无效的输入),istream对象的状态就会变为无效。处于无效状态的istream对象会使条件变为假。