我已经阅读了关于fopen访问模式的C++ Reference,但我不理解"a+b"
和"ab+"
之间,或"w+b"
和{{之间的区别1}}。
答案 0 :(得分:2)
模式标志的排序无关紧要。因此ab+
和a+b
是等效的。
b
标志以二进制模式打开文件,禁用DOS和Windows中某些字符的特殊处理,但对macOS和POSIX系统没有影响。
答案 1 :(得分:1)
b
和+
的排序无关紧要。没有区别。因此a+b
和ab+
意味着同样的事情。
答案 2 :(得分:1)
这两种形式是等效的。
来自C标准C11 7.21.5.2:
w+bx or wb+x create binary file for update
a+b or ab+ append; open or create binary file for update, writing at end-of-file
对于b
本身,它意味着该文件用作纯二进制文件,而不是文本文件。