c++新手请教二进制文件操作问题现在我有个结构体其大致结果如下(简略)C/C++ codestruct data{char head1c
c++新手请教二进制文件操作问题
现在我有个结构体
其大致结果如下(简略)
- C/C++ code
struct data { char head1; char head2; char head3; char *name; char slip; char *temp; } fdate;这个结构体中有两个指针,当结构体没有指针的时候,我知道怎么将结构体的所有数据进行二进制输出,现在的问题是
我怎样才能利用ifstream在输出二进制文件的时候,让name和temp指向的数据写入到文件中,而不是将name和temp的指针写到文件中?难道只有多次使用ifstream的write函数的方法?
PS:问一下csdn的那个评分和结贴是怎么回事?我上次要给自己的问题已经解决的帖子结贴好像不行
[解决办法]
这需要serialization(串行化)技术
http://www.vckbase.com/document/viewdoc.asp?id=918
[解决办法]
这个道理非常简单,就是你知道怎么写进去的,就知道怎么读出来
比如
[类型][宽度][数据][类型][宽度][数据][类型][宽度][数据]
这只是一个简单的例子用于说明。具体实现可能稍微麻烦一点
