Подтвердить что ты не робот

Какая разница между открытием файла с помощью ios:: binary или ios:: out или обоих?

Я пытаюсь понять разницу между открытием файла, например:

fstream *fileName*("FILE.dat",ios::binary);

или

fstream *fileName*("FILE.dat",ios::out);

или

fstream *fileName*("FILE.dat",ios::binary | ios::out);

Я обнаружил, что все эти формы идентичны: во всех случаях один и тот же вывод в файле создается с помощью *fileName*<< или *fileName*.write().

4b9b3361

Ответ 1

ios::out открывает файл для записи.

ios::binary гарантирует, что данные будут считаны или записаны без перевода новых символов строки в и от \r\n на лету. Другими словами, именно то, что вы даете потоку, именно то, что написано.

Ответ 2

Открытие файла с помощью ios:: двоичных элементов управления обработкой символов новой строки. В Windows они расширяются до пар CRLF. Что он - это не влияет на то, как такие вещи, как оператор < работа.