我在 C++ 中有一个类,如下所示:
class myCls
{
public:
myCls();
void setAngle(float angle);
void setArr(unsigned char arr[64]);
unsigned char arr[64];
double angle;
int index;
static float calcMean(const unsigned char arr[64]);
static float sqrt7(float x);
};
现在在我的主程序中,我有一个类的 3D 矢量:
vector<vector<vector< myCls > > > obj;
矢量的大小也是动态变化的。我的问题是如何将矢量的内容存储到文件中并在之后检索它?
我尝试了很多方法都没有成功。这是我的尝试:
std::ofstream outFile;
outFile.open(fileName, ios::out);
for(int i=0;i<obj.size();i++)
{
outFile.write((const char *)(obj.data()),sizeof(vector<vector<myCls> >)*obj.size());
}
outFile.close();
并阅读它:
vector<vector<vector<myCls>>> myObj;
id(inFile.is_open())
{
inFile.read((char*)(myObj.data()),sizeof(vector<vector<myCls> >)*obj.size());
}
我得到的只是运行时错误。
有人可以帮我解决这个问题吗?