头文件

1
2
#include <iostream>
#include <fstream>

open()函数

open() 成员函数用于打开文件

参数

1
2
void open(const char *filename, ios::openmode mode);
// 第一参数指定要打开的文件的名称和位置(直接写文件名表示是在与cpp同级文件夹操作),第二个参数定义文件被打开的模式
模式标志 描述
ios::app 追加模式。所有写入都追加到文件末尾。
ios::ate 文件打开后定位到文件末尾。
ios::in 打开文件用于读取。
ios::out 打开文件用于写入。
ios::trunc 如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
string name, school;
int age;
ofstream fout("test.txt", ios::out | ios::trunc); // 定义文件输出对象并绑定文件名;ios::out表示向文件输出,ios::trunc表示直接覆盖文件内容,即下一次文件写入会先清空原文件内容再写入
cout << "姓名: ";
cin >> name;
cout << "年龄: ";
cin >> age;
cout << "学校: ";
cin >> school;
fout << name << endl;
fout << age << endl;
fout << school << endl;
cout << "信息已写入文件!" << endl;
fout.close(); // 要记得关闭文件对象

ifstream fin; // 定义文件输入对象
cout << "\n读取文件..." << endl;
fin.open("test.txt", ios::in); // 以读取方式打开文件test.txt
fin >> name;
fin >> age;
fin >> school;
fin.close(); // 要记得关闭文件对象

cout << "文件内容如下:" << endl;
cout << "姓名: " << name << endl;
cout << "年龄: " << age << endl;
cout << "学校:" << school << endl;

return 0;
}