我知道标题有点乱,但我不知道怎么解释。
void save (POINT pt)
{
ofstream save;
save.open("coords.txt", ios::trunc);
if (save.is_open())
{
save << pt.x << endl;
save << pt.y;
save.close();
system("CLS");
cout << "Save successful\n\n\n\n";
system("PAUSE");
}
else
{
system("CLS");
cout << "Error: Could not save\n\n\n\n";
system("PAUSE");
}
}
int load ( )
{
ifstream load;
load.open("coords.txt", ifstream::in);
if (load.is_open())
{
}
}
我想从加载函数内部的保存函数中读取POINT
。我试过了
if (load.is_open())
{
load >> pt.x;
load >> pt.y;
}
但是 pt.x
和 pt.y
是未定义的。我不是很擅长这个,但我正在努力理解它。
提前致谢!
最佳答案
使用普通(标准)iostream
对象进行序列化/反序列化会导致很多痛苦。
我建议您使用一些高级序列化库,例如 boost::archive::binary_oarchive
和 boost::archive::binary_iarchive
( link to the doc )。
它非常易于使用,避免了很多问题,并让您有机会发现一个非常有用的 C++ 库。
参见 this post获取更多信息。
关于c++ - 如何在加载/保存功能中读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870384/