Чтобы открыть поток в бинарном режиме в C++, используй флаг std::ios::binary при создании объекта потока.
Операционные системы различают текстовый и бинарный режимы:
"\r\n" становится "\n" при вводе на Windows)Используй std::ios::binary вместе с соответствующим флагом режима:
#include <fstream>
#include <string>
void readBinaryFile(const std::string& filename) {
std::ifstream input(filename, std::ios::in | std::ios::binary);
char c;
while (input.get(c)) {
// Обработай каждый байт
}
}
get() вместо оператора извлечения (>>), когда читаешь бинарные файлы. Оператор >> пропускает начальные пробелы, что портит бинарные данные.|): std::ios::in | std::ios::binarystd::ifstream), так и для выходных (std::ofstream) потоковstd::ofstream output(filename, std::ios::out | std::ios::binary);Оператор извлечения >> — это предпочтительный метод для чтения бинарных данных, так как он автоматически обрабатывает операции на уровне байтов без трансляции символов.
Новый — ещё не проверен сообществом
Вы