在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
struct Authinfo { char name[100]; //不能定义为string name 不然程序会奔溃 // 原因:string(包括任何你不可能知道结构的对象——标准里没规定string的具体实现)是不能直接这样保存到文件的。VC里你这么干写入文件的是string里指向真正字符串内容的指针,相当于间接把这个本来不能复制的指针复制给了另一个string,到只两个string析构时发生了重复释放。 int age; }; Authinfo authinfo; ZeroMemory(&authinfo,sizeof(authinfo)); string strname="abbccddeeffgg"; memcpy(authinfo.name,strname.c_str(),strname.length()); authinfo.age=99; char * Filename="D:\\点云\\数据\\测试Cache\\R001A6E34\\C00359EC0\\dddd1.dat"; FILE *fp=fopen(Filename,"ab+"); if(!fp) { return; } fwrite(&authinfo,sizeof(authinfo),1,fp); fclose(fp); fp=fopen(Filename,"ab+"); Authinfo authinfo2; ZeroMemory(&authinfo2,sizeof(authinfo2)); fread(&authinfo2,sizeof(authinfo2),1,fp); string name=authinfo2.name; int age=authinfo2.age;
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论