Lazy loaded image
C++ 学习笔记——十一、输入、输出和文件
字数 966阅读时长≈ 3 分钟
2026-10-15

目录:点我

本章参考菜鸟教程的博客。

一、流和文件

学过计组的朋友应该知道,计算机对于输入输出数据的处理通常是使用流式传输的方式通过接口暂存处理的,因此 C++ 中对于输入输出的处理采用了流式处理,从缓冲区中收/发数据。
接下来我们需要介绍三个库:
数据类型
描述
ofstream
该数据类型表示输出文件流,用于创建文件并向文件写入信息
ifstream
该数据类型表示输入文件流,用于从文件读取信息
fstream
该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息

1. 打开文件

在从文件读取信息或者向文件写入信息之前,必须先打开文件。ofstream和fstream对象都可以用来打开文件进行写操作,如果只需要打开文件进行读操作,则使用ifstream对象。
下面是open()函数的标准语法,open()函数是fstream、ifstream和ofstream对象的一个成员:
在这里,open()成员函数的第一参数指定要打开的文件的名称和位置,第二个参数定义文件被打开的模式:
模式标志
描述
ios::app
追加模式。所有写入都追加到文件末尾
ios::ate
文件打开后定位到文件末尾
ios::in
打开文件用于读取
ios::out
打开文件用于写入
ios::trunc
如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0
可以把以上两种或两种以上的模式结合使用,举个栗子:

2. 关闭文件

当 C++ 程序终止时,它会自动关闭刷新所有流,释放所有分配的内存,并关闭所有打开的文件。但程序员应该养成一个好习惯,在程序终止前关闭所有打开的文件。
下面是close()函数的标准语法,close()函数是fstream、ifstream和ofstream对象的一个成员:

3. 写入文件

在 C++ 编程中,我们使用流插入运算符(<<)向文件写入信息,就像使用该运算符输出信息到屏幕上一样。唯一不同的是,在这里使用的是ofstream或fstream对象,而不是cout对象。

4. 读取文件

在 C++ 编程中,我们使用流提取运算符(>>)从文件读取信息,就像使用该运算符从键盘输入信息一样。唯一不同的是,在这里使用的是ifstream或fstream对象,而不是cin对象。

5. 实例:

测试结果:
原创存证 · 本地哈希 · 24504dd1d7ce...
算法:SHA-256
哈希:24504dd1d7cef1839d7e4e8c24fd244358aa531e270e9f2b20393557ef250c1d

该信息用于辅助证明当前内容版本,不等同于法律公证或版权登记。


评论
Loading...