Я не понимаю разницы между режимами "ab"
и "rb+"
при использовании fopen()
в C.
Почему я должен выбрать одно вместо другого?
Я не понимаю разницы между режимами "ab"
и "rb+"
при использовании fopen()
в C.
Почему я должен выбрать одно вместо другого?
С указанными выше спецификаторами режима файл открывается как текстовый файл. Чтобы открыть файл как двоичный файл, в строку режима должен быть включен символ
"b"
. Этот дополнительный символ"b"
может либо добавляться в конец строки (таким образом создавая следующие составные режимы:"rb"
,"wb"
,"ab"
,"r+b
","w+b"
,"a+b"
), либо вставляться между буквой и знаком"+"
для смешанных режимов ("rb+"
,"wb+"
,"ab+"
).
Из fopen
документации, которую я советую вам прочитать, прежде чем задавать вопросы. Это даст вам много информации о возможных параметрах, возвращаемых значениях, похожих функциях и т. д.
Также из того же документа:
"a"
= добавить: открыть файл для вывода в конце файла. Операции вывода всегда записывают данные в конец файла, расширяя его. Операции репозиционирования (fseek
,fsetpos
,rewind
) игнорируются. Файл создается, если он не существует.
"r+"
= чтение/обновление: открыть файл для обновления (как для ввода, так и для вывода). Файл должен существовать.
a
вы не можете искать или читать; и все записи добавляются в конец файла. В режимеr+
вы можете искать, читать и писать. - person M.M   schedule 15.05.2017