istream类方法 重载的抽取操作符 和 cin输入

重载的抽取操作符 >>

     istream类(在头文件iostream中定义)重载了抽取操作符 >> ,使之能够识别下面的这些基本类型:
     signed char &                unsigned char &
     char &                           short &
     unsigned short &          int &
     unsigned int &              long &
     unsigned long &           float &
     double &                      long double &

     这些操作符函数被称为格式化输入函数(formatted input functions) ,因为它们可以将输入数据转换为目标指定的格式。

     典型的操作符函数的原型如下:
     istream & operator>> (int &);

     参数和返回值都是引用。因此cin能够直接修改用作参数的变量的值。

     可以将hex、oct和dec控制符与cin一起使用,来指定将整数输入解释为十六进制、八进制还是十进制格式。例如:
     cin >> hex;
     将输入12或0x12解释为十六进制的12或十进制的18,而将ff或FF解释为十进制的255。

     该类还为下列字符指针类型重载了>> 抽取操作符:
     signed char *        char *       unsigned char *

     对于这种类型的参数,抽取操作符将读取输入中的下一个单词,将它放置到指定的地址,并加上一个空值字符,使之成为一个字符串。

     每个抽取操作符都返回调用对象的引用,这使得能够将输入拼接起来,就像拼接输出那样:
     char name[20];
     float fee;
     int group;
     cin >> name >> fee >> group;


cin>> 如何检查输入

     cin>> 跳过空白(空格、换行符和制表符),直到遇到非空白字符。
     在单字符模式下,>>操作符将读取该字符,将它放置到指定的位置。
     在其他模式下,>>操作符将读取一个指定类型的数据。它的读取从非空白字符开始,到与目标类型不匹配的第一个字符之间的全部内容。

     当输入未满足程序的期待时,抽取操作符将不会修改参数的值,并返回0(false)。

流状态

     cin或cout对象包含一个描述流状态(stream state) 的数据成员(从ios_base类那里继承的)。

     流状态被定义为iostate 类型,而iostate是一种bitmask 类型。由3个ios_base元素组成: eofbitbadbit

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值