Дамп std::vector в файл
Я хочу сохранить все значения массива в файл. Сам вектор представляет из себя std::vector<some_struct> users. Я пытался сделать вот так
std::fstream savef;
savef.open(filename,std::ios_base::binary|std::ios_base::out|std::ios_base::trunc);
savef.write(reinterpret_cast<char*>(users),sizeof(users));
savef.close();
Но получил ошибку invalid cast
Ответы (1 шт):
Автор решения: Антон
→ Ссылка
С c++11 у std::vector можно получить указатель на массив, который используется внутри
std::fstream savef;
savef.open(filename,std::ios_base::binary|std::ios_base::out|std::ios_base::trunc);
savef.write(reinterpret_cast<char*>(users.data()), sizeof(value_type)*users.size());
savef.close();