在C中使用"ab"
时,我不明白"rb+"
和fopen()
模式之间的区别。
为什么我会选择一个而不是另一个?
答案 0 :(得分:5)
使用上面的模式说明符,文件将作为文本文件打开。在 为了将文件作为二进制文件打开,必须有
"b"
个字符 包含在模式字符串中。这个额外的"b"
字符也可以 被附加在字符串的末尾(从而产生以下内容 复合模式:"rb"
,"wb"
,"ab"
,"r+b
“,"w+b"
,"a+b"
)或插入 字母与混合模式的"+"
符号之间("rb+"
,"wb+"
,"ab+"
)。
来自fopen
documentation,我建议你在提问前先阅读。它将为您提供有关可能的参数,返回值,类似功能等的大量信息。
另外,来自同一份文件:
"a"
= 追加:打开文件末尾的输出文件。输出操作总是在文件末尾写入数据,并将其扩展。重新定位操作(fseek
,fsetpos
,rewind
)将被忽略。如果文件不存在,则创建该文件。
"r+"
= 读取/更新:打开文件进行更新(包括输入和输出)。该文件必须存在。