Вы можете попробовать что-то вроде этого:
uint32_t data_size = 0;
data_file.read((char *) &data_size, sizeof(data_size));
std::vector<uint8_t> data(data_size);
data_file.read((char *) &data[0], data_size);
Приведенный выше фрагмент кода сначала считывает размер или количество данных из файла.
A std::vector
создается с использованием значения количества это было прочитано.
Наконец, данные считываются в вектор.
Редактировать 1: файлы с отображением в памяти
Возможно, вы захотите открыть файл данных как файл с отображением в памяти . Это где операционная система обрабатывает файл как память. Вам не нужно ни хранить данные в памяти, ни читать их. Поскольку API-интерфейсы файлов, отображаемых в памяти, различаются в разных операционных системах, вам придется искать в API операционной системы, чтобы узнать, как использовать эту функцию.