c++进阶之---istream/ostream简介

1980年,Bjarne Stroustrup开发的c++第一个版本采用的是c语言的I/O系统,Jerry Schwarz为c++开发了基于流的类。

istream类 建模了一个从任意输入设备流向一个执行着的程序的字符序列。为此'>>'也被称之为提取操作符。
默认情况下,>>运算符提取并丢弃前导的空白字符——空格、制表符和行结束符。但是要注意,输入的数据类型要和声明的变量一致,否则出现错误,如:
int m,n;
cin>>m>>n;
输入为:18.3 34
cout<<m<<"  "<<n;
18   0
这样产生的结果是m=18,其余的待输入的变量全部被赋值为0;

流输入出现错误:

cin>>variable;
//assert(cin.good());
if(cin.fail())
{
 cin>>ignore(20,'/n');
 cin.clear();
}
即使我们调用了cin.clear(),重置了流的状态,但是非法字符不会被舍去,我们可以调用cin.ignore()来忽略掉非法字符。

如果我们想要>>不跳过前导的空白字符,可以使用 “noskipws”;
cin>>noskipws>>variable;

ostream类 建模了从一个执行这的程序流向任意一个输出设备的字符流。为此'<<'也被称为插入操作符。

对于istream和ostream的格式化输入输出,我们可以查看 <iomanip>头文件中的声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值