![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
vasmt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 8.10.2007 Репутация: нет Всего: 1 |
Пишу примерно следующее:
#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 |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Компилятор ?
Скорее всего MSVC. В gcc такого нету. В общем используй binary mode вместо text mode:
Это сообщение отредактировал(а) SABROG - 9.10.2008, 18:37 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
(это историческое явление, которое берет начало с дос) последовательность OD OA (\n\r ) в винде используются чтоб был единообразный вывод на терминал независимо консоль это или принтер. Но для вывода просто на консоль достаточно только \n. \n - соответствует символу перевода строки (LF). \r- соответствует символу возврата каретки (CR). Это сообщение отредактировал(а) mes - 10.10.2008, 09:30 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |