Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > 2 байта как переход на новую строку |
Автор: vasmt 9.10.2008, 16:49 |
Пишу примерно следующее: #include <iostream> #include <fstream> using namespace std; void main() { ofstream out("c:\\mytest", ios_base::out); out << "fd\n"; } Открываю файл c:\\mytest hex-редактором, и вижу, что для перехода на новую строку используется 2 байта: OD OA Почему образуется два байта? Ведь по идее символ '\n' занимает один байт. Как можно избавиться от этого? |
Автор: SABROG 9.10.2008, 18:29 | ||
Компилятор ? Скорее всего MSVC. В gcc такого нету. В общем используй binary mode вместо text mode:
|
Автор: mes 10.10.2008, 09:29 |
(это историческое явление, которое берет начало с дос) последовательность OD OA (\n\r ) в винде используются чтоб был единообразный вывод на терминал независимо консоль это или принтер. Но для вывода просто на консоль достаточно только \n. \n - соответствует символу перевода строки (LF). \r- соответствует символу возврата каретки (CR). |