C++:копирование bmp с использованием цикла fread и fwrite приводит к тому, что выходной bmp заполняется цветом того же самого, что и во входном bmp
Вопрос
Я не знаю почему, но первый пиксель (слева внизу) загружается правильно, но остальные не загружаются, и первый цвет используется для всего изображения...
У меня есть это в цикле
fread(&pix,sizeof(pix),1,pictureIn);
fwrite(&pix,sizeof(pix),1,pictureOut);
Редактировать:
pix - это структура из трех неподписанных символов (rgb), загрузка файла и информационного заголовка, похоже, в порядке
Решение
Какую операционную систему вы используете?Недавно у меня возникла проблема с чтением двоичных файлов под управлением Win32.Оказалось, что я забыл передать флаг "b" в fopen:
pictureIn = fopen ("in.bmp", "rb");
pictureOut = fopen ("out.bmp", "wb");
Не связан с StackOverflow