首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++数据存储读出有关问题求解

2013-09-28 
c++数据存储读出问题求解!用ofstream outfile(student.dat,ios::binary)for(int j0jij++){outfile.

c++数据存储读出问题求解!
用ofstream outfile("student.dat",ios::binary);
for(int j=0;j<i;j++){
outfile.write((char*)&infor[j],sizeof(infor[j]));
}
方式存储的数据怎样在读取时确定infor[]到底有多少元素?infor[]是类数组
[解决办法]
1、
写的时候先把数组的元素个数用二进制写进文件(假定4字节的int型)
然后写数组的每个元素。
读的时候先读这个数字,然后for循环逐个读每个元素。
2、
写的时候直接写数组的元素。
读的时候,读到文件结束,就行了,这个方法不能用数组,用vector或者list这样可增大的容器。

3、
写字符串或者string对象也是这样,先写1个长度,后面才是实际的字符串。
[解决办法]
用vector或者list会比较方便。

引用:
用ofstream outfile("student.dat",ios::binary);
for(int j=0;j<i;j++){
outfile.write((char*)&infor[j],sizeof(infor[j]));
}
方式存储的数据怎样在读取时确定infor[]到底有多少元素?infor[]是类数组

[解决办法]


1 以怎样的方式写进去的,就以什么样的方式读出来

2 写进去最后都是当成一个buf的形式写进去,读出来也是一个buf
  最后只要以写的时候对应格式解析出来对应结构体就好!
  注意下指针移动的位置就好!

热点排行