fopen()中“rb +”和“ab”有什么区别?

时间:2017-05-15 11:35:58

标签: c fopen

在C中使用"ab"时,我不明白"rb+"fopen()模式之间的区别。

为什么我会选择一个而不是另一个?

1 个答案:

答案 0 :(得分:5)

  

使用上面的模式说明符,文件将作为文本文件打开。在   为了将文件作为二进制文件打开,必须有"b"个字符   包含在模式字符串中。这个额外的"b"字符也可以   被附加在字符串的末尾(从而产生以下内容   复合模式:"rb""wb""ab""r+b“,"w+b""a+b")或插入   字母与混合模式的"+"符号之间("rb+""wb+",   "ab+")。

来自fopen documentation,我建议你在提问前先阅读。它将为您提供有关可能的参数,返回值,类似功能等的大量信息。

另外,来自同一份文件:

  

"a" = 追加:打开文件末尾的输出文件。输出操作总是在文件末尾写入数据,并将其扩展。重新定位操作(fseekfsetposrewind)将被忽略。如果文件不存在,则创建该文件。

     

"r+" = 读取/更新:打开文件进行更新(包括输入和输出)。该文件必须存在。