【问题标题】:What is the difference between "rb+" and "ab" in fopen()?fopen() 中的“rb+”和“ab”有什么区别?
【发布时间】:2017-05-15 11:35:57
【问题描述】:

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

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

【问题讨论】:

标签: c fopen


【解决方案1】:

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

来自fopen documentation,我建议您在提问之前阅读。它会给你很多关于可能的参数、返回值、类似函数等的信息。

另外,来自同一个文档:

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

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

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    相关资源
    最近更新 更多