发现生活之美

8.4 C++标准输入流

参考:http://www.weixueyuan.net/view/6410.html

总结:

  所谓标准输入是指从标准输入设备中输入设备,通常来讲我们可以将标准输入设备理解为键盘。

  cin是标准输入类对象,它一般与输入操作符“>>”一起使用。

  输入的过程是这样的:键盘输入完数据后按下回车键,该行数据就被写入输入缓冲区中,之后输入操作符从缓冲区中提取数据,在提取的过程中会忽略空格、tab键以及换行符等空白字符。

  如果输入流处于正常状态,则cin的返回值为true,否则返回的是false。当cin遇到错误的字符或文件结束符时,输入就会处于非正常状态,此时返回值为0,终止所有数据输入操作。如读取十六进制数据的时候,输入的字符不在0-9、a-f以及A-F范围内时, 输入就会处于非正常状态。

--------------------------------   

所谓标准输入是指从标准输入设备中输入设备,通常来讲我们可以将标准输入设备理解为键盘。cin是标准输入类对象,它一般与输入操作符“>>”一起使用。输入的过程是这样的:键盘输入完数据后按下回车键,该行数据就被写入输入缓冲区中,之后输入操作符从缓冲区中提取数据,在提取的过程中会忽略空格、tab键以及换行符等空白字符

如果输入流处于正常状态,则cin的返回值为true,否则返回的是false。当cin遇到错误的字符或文件结束符时,输入就会处于非正常状态,此时返回值为0,终止所有数据输入操作。

例1:
#include < iostream >
using namespace std;

int main()
{
    int a;
    while ( cin >> hex >> a )
    {
        cout << a << endl;   
    }
    cout << "The end!" << endl;
    return 0;
}

在本例中,我们采用循环输入的方式,将输入数据然后直接输出。因为cin返回的也是bool类型,因此可以作为条件判断表达式。在cin后面我们使用了不带参数的操纵器hex,用此操纵器表明我们输入的是16进制数据,在输出的时候我们并没有设置为16进制输出,因此系统通过内部函数将其由输入的16进制转换为10进制,然后输出。当我们输入的字符不在0-9、a-f以及A-F范围内时,cin就会处于非正常状态,返回值为false,退出while循环,之后我们输出The end结束程序。

 

posted on 2017-12-06 19:32  发现生活之美  阅读(358)  评论(0编辑  收藏  举报

导航