
C++如何将类写入文件
如题,比如这样classa{inta;stringb;};只能一项一项弄进去吗,不能一下子全写入吗?如果只能一项一项的话,求方法~voidwritedata(a*h)//...
如题,比如这样
class a
{
int a;
string b;
};
只能一项一项弄进去吗,不能一下子全写入吗?如果只能一项一项的话,求方法~
void writedata(a *h) //把数据存储在文件中
{
FILE *report;
int i;
if((report=fopen("file.txt","w"))==NULL)
{
printf("不能打开文件\n");
exit(1);
}
for(i=0;i<SchoolNum;i++)
fwrite(&h[i],sizeof(school),1,report);
fclose(report);
}
我用这种代码,打开的 txt全是乱码啊 展开
class a
{
int a;
string b;
};
只能一项一项弄进去吗,不能一下子全写入吗?如果只能一项一项的话,求方法~
void writedata(a *h) //把数据存储在文件中
{
FILE *report;
int i;
if((report=fopen("file.txt","w"))==NULL)
{
printf("不能打开文件\n");
exit(1);
}
for(i=0;i<SchoolNum;i++)
fwrite(&h[i],sizeof(school),1,report);
fclose(report);
}
我用这种代码,打开的 txt全是乱码啊 展开
展开全部
用容器啊,不知道楼主学过没
定义一个容器对象,vector<a> obm
把数据存入容器中
你那个school哪来的啊
定义一个容器对象,vector<a> obm
把数据存入容器中
你那个school哪来的啊
更多追问追答
追问
school打错了,是a,容器能直接写入吗,怎么写啊
追答
嗯,其实就是用容器最好了啊,
void writedata(vector &obm) //把数据存储在文件中
{
a h;
FILE *report;
int i;
if((report=fopen("file.txt","w"))==NULL)
{
printf("不能打开文件\n");
exit(1);
}
for(i=0;i<SchoolNum;i++)
{
fwrite(&h[i],sizeof(a),1,report);
obm.push_back(a);
}
fclose(report);
}
代码大致就是这样的额,你看得懂的话就改改吧,提前是你懂容器怎么用 啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询