C / C ++ печать на заказ EOL

Я хочу сгенерировать на Windows файл (скрипт) для UNIX. Так что мне нужно вывести только LF символы, без вывода CR персонажи.

Когда я делаю fprintf(fpout, "some text\n");, персонаж \n автоматически заменяется \r\n в файле.

Есть ли способ вывести конкретно просто \n (LF) персонаж?

Язык C ++, но функции ввода / вывода происходят из C.

3

Решение

Вы можете открыть файл в двоичном режиме, например,

FILE *fpout = fopen("unixfile.txt", "wb");

fprintf(fpout, "some text\n"); // no \r inserted before \n

Как следствие, каждый байт, который вы передаете fprintf интерпретируется как байт и ничего более, что должно пропускать преобразование из \n в \r\n,

Из ссылки на станд :: Еореп:

При необходимости можно указать флаг режима доступа к файлу «b», чтобы открыть файл в двоичном режиме. Этот флаг не влияет на системы POSIX, но в Windows, например, он отключает специальную обработку ‘\ n’ и ‘\ x1A’.

9

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector