| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Бинарный stdout |
| Автор: s0nik 22.10.2008, 19:29 | ||
| Вывожу через stdout бинарный файл (изображение), всё нормально, но при выводе в поток вставляется символ 0x0D (вроде перевод каретки). Как от него избавится?
|
| Автор: ИванМ 22.10.2008, 20:36 |
| Я запустил твою программу. Никакого символа 0xD не обнаружил. Единственно, что почему то дублируется последний символ. Почему я пока не понял. |
| Автор: J0ker 22.10.2008, 20:56 |
попробуйте setmode(fileno(stdout), O_BINARY); хотя с виндой нельзя быть уверенным что сработает Добавлено через 1 минуту и 6 секунд это наверное потому, что вы ее на *nix'ах запустили |
| Автор: ИванМ 22.10.2008, 21:15 |
| Про дубляж символа понял, а вот про 0xD нет. Просветите меня, в каком месте он должен появиться. J0ker , у меня XP. |
| Автор: s0nik 22.10.2008, 21:52 | ||
| Спасибо за помощь. setmode работает (а почему собственно не должно было работать в винде?) Нашёл, где конкретно появляется символ 0x0D - всегда перед символом 0x0А.
|
| Автор: ИванМ 22.10.2008, 22:02 |
| Понятно. Просто у меня не было символа 10. |