О бинарных режимах в fopen - PullRequest
0 голосов
/ 07 июня 2018

Я уже прочитал C ++ Reference о режимах доступа fopen, но я не понимаю разницу между "a+b" и "ab+" или между "w+b" и "wb+".

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

Две формы эквивалентны.

Из стандарта 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, это означает, что файл используется как чистыйдвоичный файл, а не как текстовый файл.

0 голосов
/ 07 июня 2018

Порядок флагов режима не имеет значения.Так что ab+ и a+b эквивалентны.

Флаг b открывает файл в двоичном режиме, который отключает специальную обработку некоторых символов в DOS и Windows, но не влияет на macOS и POSIXсистемы.

0 голосов
/ 07 июня 2018

Порядок b и + не имеет значения.Нет никакой разницы.Так что a+b и ab+ означают одно и то же.

...