C++学习摘要之九:C++流和文件流
?
?
在程序设计中,数据输入/输出(I/O)操作是必不可少的,C++语言的数据输入/输出操作是通过I/O流库来实现的。C++中把数据之间的传输操作称为流,流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流。在进行I/O操作时,首先是打开操作,使流和文件发生联系,建立联系后的文件才允许数据流入和流出,输入或输出结束后,使用关闭操作使文件与流断开联系。
标准输入输出流(cout、cin)在使用过程中,只要在程序的开头嵌入相应的头文件“iostream.h”即可。
文件的打开和关闭是通过使用fstream类的成员函数open和close来实现的,fstream类用来对文件流进行操作,fstream类的头文件是fstream.h.
1.数据的输出cout
cout是标准输出设备即显示器(默认设备)连接的预定义输出流。C++语言的插入运算符“<<”向输出流发送字符,cout是数据的目的地,插入运算符“<<”把数据传送到cout.
输出流对象cout输出数据的语句格式为:
cout<<数据1<<数据2<<……<<数据n;
其中,“<<”是输出操作符,用于向cout输出流中插入数据。
在cout中还可以使用流控制符控制数据的输出格式,但要注意使用这些流控制符时,要在程序的开始部分嵌入头文件“iomanip.h”。
常用的流控制符及其功能如下表所示:
表1 I/O流的常用控制符
?
图1 几个与文件处理相关的类及其继承关系结构图
下表是常用的I/O流类库的说明,以及在编程中需要包含到程序中的头文件。
表2 常用I/O流类库说明
?
?
?
顺序文件操作:这种操作方式只能从文件的开始处依次顺序读写文件内容,而不能任意读写文件内容。从一个文件中读出数据,可以使用get、getline、read成员函数以及运算符“>>”;而向一个文件写入数据,可以使用put、write成员函数以及插入符“<<”。