输入输出流:
1. I/O(输入/输出)流类库提供对象之间的数据交互服务
流类库预定义了一批流对象,连接常用的外部设备
程序员可以定义所需的I/O流对象,使用流库提供的工作方式
实现数据传输
2.流类和流对象: 程序中,对数据的输入/输出是以字节流实现的
应用程序对字节序列作出各种数据解释
I/O系统的任务就是在内存和外部设备之间稳定可靠地传输数据
和解释数据。
流类对象可以建立和删除,可以从流中获取数据和向流添加数据
3.流类库: 流库(stream library)是用继承方法建立的输入输出类库
流库具有两个平行的基类:streambuf 和 ios 类,所有流类均以两者
之一作为基类
streambuf 类提供对缓冲区的低级操作
设置缓冲区 对缓冲区指针操作 向缓冲区存/取字符
ios 类及其派生类提供用户使用流类的接口,支持对streambuf 的缓
冲区输入/输出的格式化或非格式化转换
4.提供用户接口:
5.头文件
含有cin、cout、cerr、clog对象,提供无格式和格式化的I/O
(1) cin istream 类的对象,通常连向键盘,可以重定向
(2) cout ostream 类的对象,通常连向显示器,可以重定向
(3) cerr ostream 类的对象,连向显示器。不能重定向
(4) clog ostream 类的对象,连向打印机。不能重定向
7.istream的共有成员函数
函数 |
功能 |
read |
无格式输入指定字节数 |
get |
从流中提取字符,包括空格 |
getline |
从流中提取一行字符 |
ignore |
提取并丢弃流中指定字符 |
peek |
返回流中下一个字符,但不从流中删除 |
gcount |
统计最后输入的字符个数 |
eatwhite |
忽略前导空格 |
seekg |
移动输入流指针 |
tellg |
返回输入流中指定位置的指针值 |
operstor>> |
提取运算符 |
1 #include <iostream> 2 using namespace std; 3 4 void main() 5 { 6 char c; 7 cout << "输入字符: "; 8 while((c=cin.get())!='