Я смотрел на двоичные объекты чтения и записи в c ++, но у меня возникли некоторые проблемы. Это «работает», но кроме того, я получаю огромное количество ошибок / «информации».
То, что я сделал, это
Person p2;
std::fstream file;
file.open( filename.c_str(), std::ios::in | std::ios::out | std::ios::binary );
file.seekg(0, std::ios::beg );
file.read ( (char*)&p2, sizeof(p2));
file.close();
std::cout << "Name: " << p2.name;
Person - это простая структура, содержащая string name
и int age
. Когда я запускаю программу, она выводит «Имя: Боб», поскольку я уже создал программу для записи в файл (поэтому объект уже находится в имени файла).
ДОПОЛНИТЕЛЬНО к выводу имени, которое он также выводит:
* обнаружен glibc * программа: двойное освобождение от повреждения (fastttop): ***
Backtrace:
...
Карта памяти:
...
Прервать