C/C++ 文件打开模式


一、C++ 和 C 文件打开模式


C++ 模式 C模式 含义
ios_base::in r 打开以读取
ios_base::out w 打开以写入,如果已经存在,则截短文件
ios_base::out | ios_base::trunc w 打开以写入,如果已经存在,则截短文件
ios_base::out | ios_base::app a 打开以写入,只追加
ios_base::in | ios_base::out r+ 打开以读写,在文件允许的位置写入
ios_base::in | ios_base::out | ios_base::trunc w+ 打开以读写,如果已经存在,则首先截短文件
c++ mode | ios_base::binary cmodeb 以 C++ mode 和二进制模式打开
c++mode | ios_base::ate cmode 以指定模式打开,并移到文件尾


二、读操作详解


模式 权限性 存在性 截短性 文件类型
r 只读 必须存在 - -
r+ 读写 必须存在 覆盖原文件 -
rt 只读 必须存在 - 文本文件
rt+ 读写 必须存在 覆盖原文件 文本文件
rb 只读 必须存在 - 二进制文件
rb+ 读写 必须存在 覆盖原文件 二进制文件


三、写操作详解


模式 权限性 存在性 截短性 文件类型
w 只写 可以不存在 清空原文件 -
w+ 读写 可以不存在 清空原文件 -
wt 只写 可以不存在 清空原文件 文本文件
wt+ 读写 可以不存在 清空原文件 文本文件
wb 只写 可以不存在 清空原文件 二进制文件
wb+ 读写 可以不存在 清空原文件 二进制文件


四、添加操作详解


模式 权限性 存在性 截短性 文件类型
a 只写 可以不存在 文件尾添加数据 -
a+ 读写 可以不存在 文件尾添加数据 -
at 只写 可以不存在 文件尾添加数据 文本文件
at+ 读写 可以不存在 文件尾添加数据 文本文件
ab 只写 可以不存在 文件尾添加数据 二进制文件
ab+ 读写 可以不存在 文件尾添加数据 二进制文件


猜你喜欢

转载自blog.csdn.net/qq_30534935/article/details/102809927