C++文件访问模式(“r”,“w”,“a”,“r+”,“w+”,“a+”)
·
C++文件访问模式详解
在C++中,文件访问模式主要通过fopen函数或文件流类的构造函数参数指定。以下是常见的文件访问模式及其用途:
基本模式
"r"(只读)
打开文件用于读取,文件必须存在。若文件不存在,打开失败。
示例代码:
FILE* file = fopen("example.txt", "r");
"w"(只写)
打开文件用于写入。若文件存在,内容会被清空;若文件不存在,则创建新文件。
示例代码:
FILE* file = fopen("example.txt", "w");
"a"(追加)
打开文件用于在末尾追加数据。若文件不存在,则创建新文件。
示例代码:
FILE* file = fopen("example.txt", "a");
扩展模式
"r+"(读写)
打开文件用于读写,文件必须存在。写入数据会覆盖当前位置的内容。
示例代码:
FILE* file = fopen("example.txt", "r+");
"w+"(读写+清空)
打开文件用于读写。若文件存在,内容会被清空;若文件不存在,则创建新文件。
示例代码:
FILE* file = fopen("example.txt", "w+");
"a+"(读写+追加)
打开文件用于读写,写入时数据总是追加到文件末尾。若文件不存在,则创建新文件。
示例代码:
FILE* file = fopen("example.txt", "a+");
二进制模式
在模式字符串后添加"b"(如"rb"、"wb+")可指定二进制模式,适用于非文本文件(如图像、音频)。
示例代码:
FILE* file = fopen("data.bin", "rb");
注意事项
- 使用
fopen后需检查返回值是否为NULL,确保文件成功打开。 - 操作完成后应调用
fclose关闭文件,避免资源泄漏。 - C++中更推荐使用
fstream(如ifstream、ofstream)进行面向对象的文件操作。
示例(C++文件流):
#include <fstream>
std::fstream file("example.txt", std::ios::in | std::ios::out);
更多推荐



所有评论(0)