в основном, у меня есть стол Хаффмана как
std::map<std::string, char> ciMap;
Где строка - это битовый шаблон, а char - это значение, представленное указанным шаблоном.
Проблема в том, как мне сохранить это как заголовок моего сжатого файла, чтобы я мог построить ту же карту, когда захочу ее декодировать?
Попытка сохранить его в двоичном виде:
size_t mapLen = ciMap.size();
outFile.write(reinterpret_cast<char*>(&mapLen), sizeof(size_t));
outFile.write(reinterpret_cast<char*>(&ciMap), sizeof(ciMap));
А позже здание с:
inFile.read(reinterpret_cast<char*>(&mapLen), sizeof(size_t));
inFile.read(reinterpret_cast<char*>(&ciMap), sizeof(mapLen));
Не работает, я получаю ошибку инициализации строки ... что-то делать с NULL. Какие-либо предложения? Если у вас есть лучший способ хранения битов и значений, я бы хотел услышать.