C++专题总结之输入输出

主题概要
C++基础C++的I/O部分概括、总结
编辑时间
新建20160826
序号参考资料
1C++ Primer Plus
2

相对与JAVA,C++的输入输出更加整洁,没有这么多装饰器,更加易于使用和理解。

流和缓冲区

C++程序把输入和输出看作字节流。输入时,程序从输入流中抽取字节;输出时,程序将字节插入到输出流中。流充当了程序和流源或流目标之间的桥梁。也使得程序使用相同的方式处理输入和输出,独立于具体的来源和去向。

管理输入包含两步:
将流与输入去向的程序关联起来;
将流与文件连接起来;

同样,管理输出包含两步:
将输出流连接到程序;
将输出目标与流关联;

流的抽像图如下:
这里写图片描述

通常,为了提高效率,在流的一端为引进一块缓冲区,作为信息从设备传输到程序或程序传输到设备时的临时存储工具。
C++ iostream文件中通过一系列的类来管理流和缓冲区,其中的一些类:
这里写图片描述

streambuf类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内存、刷新缓冲区和管理缓冲区内存的类方法;
ios_base 类表示流的一般特征,如是否可读取、 是二进制流还是文本流等;
ios 类 基于ios_base, 其中每括了一个指向streambuf对象的指针;
ostream类 是从ios类派生而來的,提供了输出方法;
istream类也是从ios类派生而來的,提供了输入方法;
iostream类是基于istream和ostream类的,因此继承了输入方法和输出方法;

要使用这些工具,必须使用适当的类对象,创建这样的对象(如count)将自动打开一个流,自动创建缓冲区,并将其与流关联起来。

C++中已经预定义了8个流对象(4 个用于窄字符流,4 个用于宽字符流),它们是:
cin 对象对应于标准输入流,这个流被关联到标准输入设备(键盘);
cout对象与标准输出流相对应,这个流被关联到标准输出设备(显示器);
cerr对象与标准错误流相对应,关联到标准输出设备,可用于显示错误消息,没被缓冲;
clog对象也对应着标准错误流,这个流被关联到标准输出设备,这个流被缓冲;
与此对应的是宽字符流的4个对象,wcin,wcout,wcerr,wclog。

Cout的使用

重载 << 运算符

<< 运算符的默认含义是按位左移运算符,但 ostream类重新定义了<<运算符,将其重载为输出,示作插入运算符,它能够识别出C++中所有的基本类型和字符串指针类型。
插入运算符的所有化身的返回类型都是ostream &,原型的格式如下:
ostream & operator « (type)
其中,type是要显示的数据的类型。返回类型 ostream &意味着使用该运算符将返回一个指向ostream 的对象。到底指向哪个对象呢?其实就指向调用该运算符的对象。
这里写图片描述

Cin的使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值