class _0843杨晓慧 { public: int num; string name; char sex; double score1,score2,score3; }; class _0843杨晓慧_1:public _0843杨晓慧 { public: vector<_0843杨晓慧>v; _0843杨晓慧_1() ; void _0843杨晓慧1() ; void _0843杨晓慧2() ; void _0843杨晓慧3()在上述代码的基础上写一个保存函数,保存到fname。txt
时间: 2024-03-15 11:47:22 浏览: 41
以下是基于上述代码的保存函数实现:
```c++
void saveToFile(_0843杨晓慧_1 obj, string fname) {
ofstream ofs(fname);
if (ofs.is_open()) {
ofs << obj.num << " " << obj.name << " " << obj.sex << " " << obj.score1 << " " << obj.score2 << " " << obj.score3 << endl;
for (int i = 0; i < obj.v.size(); i++) {
ofs << obj.v[i].num << " " << obj.v[i].name << " " << obj.v[i].sex << " " << obj.v[i].score1 << " " << obj.v[i].score2 << " " << obj.v[i].score3 << endl;
}
ofs.close();
} else {
cout << "Error: Failed to open file " << fname << endl;
}
}
```
这个函数接受一个 `_0843杨晓慧_1` 对象和一个文件名作为参数,将对象中的数据以指定格式保存到指定的文件中。在这个函数中,我们先创建一个 `ofstream` 对象来写入文件,然后将主对象的数据写入第一行,接着循环遍历存储在 `v` 中的对象,将每个对象的数据写入文件并换行。最后关闭文件流。需要注意的是,如果无法打开指定的文件,函数会输出错误信息。
阅读全文