Чтобы прочитать бинарный файл в переменную типа std::string, можно использовать следующий подход:
Открыть файл в бинарном режиме (std::ios::binary).
Переместить указатель чтения в конец файла (seekg), чтобы определить его размер.
Зарезервировать место в std::string.
Вернуться в начало файла (seekg), считать все байты в строку.
Код: Выделить всё
#include <fstream>
#include <string>
std::string readBinaryFile(const std::string& filename)
{
// Открываем файл в бинарном режиме
std::ifstream file(filename, std::ios::binary);
if (!file) {
// Обработка ошибки: можно вернуть пустую строку или выбросить исключение
return "";
}
// Перемещаемся в конец файла, чтобы узнать его размер
file.seekg(0, std::ios::end);
std::size_t size = file.tellg();
// Создаем строку достаточного размера
std::string buffer(size, '\0');
// Возвращаемся в начало файла
file.seekg(0, std::ios::beg);
// Читаем весь файл в строку
file.read(&buffer[0], size);
return buffer;
}
использование
Код: Выделить всё
std::string binaryData = readBinaryFile("path/to/binary/file");