Я пишу программу для создания растрового изображения. Когда я тестировал его, я обнаружил, что C++ писал лишние байты (в казалось бы случайных местах), таким образом компенсируя все мои байты (впоследствии испортил изображение). Я пишу в файл из массива. Я исчерпываю полное содержимое массива, и они идеальны, однако дополнительные байты всегда записываются. Это было исправлено, открыв файл с помощью ios :: двоичного флага.Ofstream :: write пишет дополнительные байты, несмотря на явный исходный массив
Зачем нужно открывать файл с и без значка ios :: двоичного флага, если я выводю из одного и того же массива.
Использование Code :: Blocks 12.11, компилятор по умолчанию с C++ 0x
Вы просматривали * байты * содержимого массива? Например, ваш text-outut-stream может хорошо преобразовать CR в CR/LF. Мой вопрос: «Почему я должен пытаться записать двоичные данные в поток вывода текста и ожидать, что он будет работать * – WhozCraig
Ответ, предоставленный Inspired, соответствует моему сценарию отлично .. и я смотрю на отдельные байты (сделал свой собственный буфер), поскольку они идут в поток. – ithenoob
Отлично. Это не необычная икота. Рад, что вы нашли ответ. – WhozCraig