Я пытаюсь прочитать файл, содержащий данные в двоичном моде. Размер файла 28 байт, но когда я пытаюсь прочитать этот файл, у меня только 22 байта. Я уже пытался изменить информацию внутри файла, но в нем все еще отсутствуют некоторые байты. Понятия не имею почему. PS: я знаю, какие данные находятся внутри файла, но они не читаются ни в каком стандарте компьютерной кодировки символов. Код, используемый для чтения файла:
std::string line{ "" };
std::string buffer;
while (std::getline(file, line))
buffer += line;
file.close();
std::string
иstd::getline
не подходят для двоичных данных. Дажеfstream
не может переносимого доступа к двоичным данным (у него всегда есть фасет символов, выполняющий преобразование текста, бинарные данные требуют установки неоперационного фасета, а его настройка не является переносимой). - person Ben Voigt   schedule 08.07.2021std::vector<unsigned char> buffer(std::istreambuf_iterator<char>(file), {});
спасибо (у меня есть правильное количество байтов) - person Ismaël Gaye   schedule 08.07.2021