У меня есть изображение jpeg в буфере char [] в памяти, все, что мне нужно сделать, это записать его на диск в том виде, как он есть. Прямо сейчас я делаю это
ofstream ofs;
ofs.open(filename);
ofs.write(buffer, bufferLen);
ofs.close();
но изображение получилось неправильным, оно везде искажено случайными черно-белыми полосами. После сравнения изображения с оригиналом в программе просмотра в шестнадцатеричном формате, я обнаружил, что ofstream изменяет данные, когда думает, что я пишу символ новой строки. В любом месте, где 0x0A отображается в оригинале, ofstream записывает в виде двух байтов: 0x0D0A. Я должен предположить, что ofstream намеревается конвертировать из LF только в CRLF, есть ли стандартный способ заставить его этого не делать?