bool XCameraConfig::Save(const char* path)
{
if (!path)return false;
ofstream ofs(path, ios::binary);//ofs和path路径的文件绑定
if (!ofs)return false;
unique_lock<mutex> lock(mux_);
for (auto cam : cams_)
{
ofs.write((char*)&cam, sizeof(cam));//把cams_里的摄像头数据写入文件
}
return true;
}
bool XCameraConfig::Load(const char* path)
{
if (!path)return false;
ifstream ifs(path, ios::binary);//ifs 和path路径的文件绑定
if (!ifs)return false;
XCameraData data;
unique_lock<mutex> lock(mux_);
cams_.clear();
for (;;)
{
ifs.read((char*)&data, sizeof(data));//读取文件中的配置数据
if (ifs.gcount() != sizeof(data))//if读到文件结尾 则退出。。。。gount()表示读取的数量
{
ifs.close();
return true;
}
cams_.push_back(data);
}
return true;
}