类6

  

    流和缓冲区

通过使用缓冲区可以更高效地处理输入和输出。缓冲区是用作中介的内存块,它是将信息从设备传输到程序或从程序传输给设备的临时存储工具。

 

一些I/O类:

streambuf 类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内容、刷新缓冲区和管理缓冲区内存的类方法。

ios_base 类表示流的一般特征,如是否可读取、是二进制流还是文本流等。

ios类基于ios_base,其中包括了一个指向streambuf对象的指针成员。

ostream类是从ios类派生而来的,提供了输出方法。

istream类也是从ios类派生出来的,提供了输入方法。

iostream类是基于istreamostream类的,因此继承了输入方法和输出方法。

 

iostream类中流对象:

cin对象对应于标准输入流

cout对象与标准输出流相对应。

cerr对象与标准错误流相对应,可用于显示错误消息。

clog对象也对应着标准错误流。

 

调整字段宽度:

使用width成员函数将长度不同的数字放到宽度相同的字段中,该方法的原型为:

int width();

int widthint i);

第一种格式返回字段宽度的当前设置;第二种格式将字段宽度设置为i个空格并返回以前的字段宽度值。

 

流状态:cincout对象包含一个描述流状态(stream state)的数据成员(从ios_base类那里继承的)。流状态(被定义为iostate类型,而iostate是一种bitmask类型)由3ios_base

元素组成:eofbitbadbitfailbit,其中每个元素都是一位,可以是1(设置)或0(清除)。

 

单字符输入:get()方法读取下一个输入字符,即使该字符是空格、制表符或换行符。

 

ignore()函数接受两个参数:一个是数字,指定要读取的最大字符数;另一个是字符,用作输入分界符。

 

其他istream 方法包括read()、peek()、gcount()和putback()。

read()函数读取指定数目的字节,并将它们存储在指定的位置中。

peek()函数返回输入中的下一个字符,但不抽取输入流中的字符。

gcount方法返回最后一个非格式化抽取方法读取的字符数。

putback()函数将一个字符插入到输入字符串中,被插入的字符将下一条输入语句读取的第一个字符。

 

 

文件输入和输出:

要写入文件,需要创建一个ofstream对象,并使用ostream方法,如<<插入操作符或write()。

要读取文件,需要创建一个ifstream对象,并使用istream方法,如>>抽取操作符或get()。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值