0%

C语言文件打开模式

c语言文件打开模式

以c string 方式打开

文件打开模式 含义
“r” 以只读方式打开文件,该文件必须存在
”w“ 只写方式创建并打开一个空文件,若存在同名文件,则丢弃全部数据,作为一个空文件
“a” 附加模式(append),只写打开文件,在文件末尾写入数据,若文件不存在,则创建该文件。重定位操作(fseekfsetposrewind)将被忽略。
“r+” 读或修改:打开的文件可读可写,但该文件必须存在。
“w+” 写或修改:创建一个空文件进行读取或写入。如果已经存在同名文件,则将其内容丢弃,作为一个空文件。
“a+“ 附加或修改:打开文件进行读或写,所有输出操作均在文件末尾写入数据。重新定位操作(fseekfsetposrewind)会影响下一次读取。如果文件不存在,则创建该文件。

以二进制方式打开文件

如果需要作为二进制打开文件,则在相应的模式名后加’b’字符即可,例如:

1
2
rb wb ab r+b w+b a+b
或者 rb+ wb+ ab+

新的c标准(c11)

从上述内容可以知道,写相关操作(w),当存在同名文件时,会丢弃该文件的所有数据,如果错误使用该模式可能会丢失数据。

c11定义了新的子说明符’x’,当文件存在时,则终止该函数。例如:

1
2
3
”wx“, “wbx”
“w+x” 或 “w+bx”/“wb+x”