我已经查看了 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
and的简单结构体int age
。当我运行程序时,它会输出“名称:鲍勃”,因为我已经编写了一个程序来写入文件(因此对象已经在文件名中)。
除了输出名称外,它还输出:
* 检测到 glibc *程序:双重免费 og 损坏(fastttop):***
回溯:
...
内存映射:
...
中止