C++文件和流
在C++中进行文件处理,可使用标准库fstream
它定义了三个新的数据类型,用于从文件写入流和从文件读取流
数据类型 | 描述 |
---|---|
ofstream | 该数据类型表示输出文件流,用于创建文件并向文件中写入信息 |
ifstream | 该数据类型表示输入文件流,用于从文件中读取信息 |
fstream | 该数据类型通常表示文件流,同时具有ofstream和ifstream两种功能,他可以创建文件,向文件中写入信息,从文件中读取信息 |
打开文件
ofstream
和ifstream
对象都可以open()函数打开文件进行写操作。open()函数是ofstream、ifstream、fstream对象的一个成员。
open()函数标准语法
void open(const char *filename,ios::openmode mode)
- 第一个参数为要打开的文件名称和位置
- 第二个参数为文件打开的模式
模式标志 | 描述 |
---|---|
ios::app | 追加模式。所有写入都追加到文件末尾 |
ios::ate | 文件打开后定位到文件末尾 |
ios::in | 打开文件用于读取 |
ios::out | 打开文件用于写入 |
ios::trunc | 如果文件已经存在,其内容在打开文件之前被截断,即把文件长度设为0 |
打开模式可以两个或者多个结合使用
ofstream outfile;
outfile.open("file.data",ios::out|ios::trunc)
//outfile.open("file.data",ios::out|ios::in)
关闭文件
C++程序终止时,它会自动关闭刷新所有流,释放所有分配的内存,并关闭所有打开的文件。
听说优秀的程序员会在程序终止前关闭打开的文件
使用close()函数
写入文件 && 读取文件
- 使用流插入运算符(<<)向文件写入信息,就像使用该运算符输出信息到屏幕上一样,但用的不是cout对象,而是ofstream或者fstream对象
-使用流提取运算符(>>)从文件中读取信息。这里使用的是ifstream或者fstream对象
demo
1 |
|