首页 新闻 会员 周边

数据序列化存储

1
悬赏园豆:50 [已关闭问题]

如题

结构体中含有string 对象 而string 中应该包含有char* 元素   如何才能正确存储?

据了解应该是跟序列化有关系,哪位可以详细说说嘛 谢谢

问题补充: 比如一个结构体: struct Student{ char* name; int id; char* sex; }; 这样一个数据类型存储到文件 保存的是char* 指针 而不是指针指向的内容 怎么解决这一问题 struct Student{ string name; int id; char* sex; }; struct Student stu; cin>>stu.name>>stu.id>>stu.sex; infile.write((char*)&stu,sizeof(stu)); 就是这样,infile 是个ofstream 对象
Pro.Charm的主页 Pro.Charm | 初学一级 | 园豆:70
提问于:2010-08-11 16:55
< >
分享
其他回答(1)
0

你想要咋存储?存储到哪儿?

char* 是以 /0 结尾的字符串.

Launcher | 园豆:45045 (高人七级) | 2010-08-11 17:32
把你存储该结构体到文件的代码贴出来.
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-11 18:02
你的struct定义错了,你得这样定义: struct Student{ char name[200]; int id; char sex[10]; };
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-11 22:20
0

结构体里有动态的东东了,就不能&stu了事了。必须自己给个格式储存和序列化。

你这个可以吧char * 的具体内容存进去。http://www.cnblogs.com/finallyliuyu/archive/2010/08/25/1808300.html 这是我前些日子对泛型写的一个序列化,希望可以对你有启发。(见save load函数)

finallyly | 园豆:100 (初学一级) | 2010-08-26 15:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册