c语言文件打开模式
以c string 方式打开
文件打开模式 | 含义 |
---|---|
“r” | 以只读方式打开文件,该文件必须存在 |
”w“ | 只写方式创建并打开一个空文件,若存在同名文件,则丢弃全部数据,作为一个空文件 |
“a” | 附加模式(append),只写打开文件,在文件末尾写入数据,若文件不存在,则创建该文件。重定位操作(fseek,fsetpos,rewind)将被忽略。 |
“r+” | 读或修改:打开的文件可读可写,但该文件必须存在。 |
“w+” | 写或修改:创建一个空文件进行读取或写入。如果已经存在同名文件,则将其内容丢弃,作为一个空文件。 |
“a+“ | 附加或修改:打开文件进行读或写,所有输出操作均在文件末尾写入数据。重新定位操作(fseek,fsetpos,rewind)会影响下一次读取。如果文件不存在,则创建该文件。 |
以二进制方式打开文件
如果需要作为二进制打开文件,则在相应的模式名后加’b’字符即可,例如:
1 | rb wb ab r+b w+b a+b |
新的c标准(c11)
从上述内容可以知道,写相关操作(w),当存在同名文件时,会丢弃该文件的所有数据,如果错误使用该模式可能会丢失数据。
c11定义了新的子说明符’x’,当文件存在时,则终止该函数。例如:
1 | ”wx“, “wbx” |