C++ Primer第五版学习笔记五 控制流之读取数量不定的输入数据

实现用户输入一组数据,然后对这些数据求和

#include <iostream>

int main() {
    int sum=, val;
    std::cout << "请输入整数:" << std::endl;
    while (std::cin >> val) {
        sum += val;
    }

    std::cout << sum << std::endl;

    return ;
}

while语句使用istream对象作为判断条件,其效果是检查流的状态,如果流是有效的,即流未遇到错误,那么检验成功。如果遇到文件结束符或者一个无效的输入时(例如读入的值不是一个整数),istream对象的状态会变为无效,处于无效状态的istream对象会使条件变为假。

文件结束符操作系统不同,有不同的约定。windows系统为ctrl+z Unix或mac系统为ctrl++D