C++二进制文件读取时怎么定位
2011-05-28 17:09
253 查看
这会有点坐不住了,写点自己感兴趣的东西吧。写点快要做课程设计了,大致思路是先把一些简单的工具学了,然后再集中精力把系统拿下来,在课程设计里文件的读写是很重要的,前几天在机房看了一会,发现我看过的使用起来都没C语言中的方便,甚至说对于课程设计中的那些信息来说实现起来很困难,跟老师讨论了一下,老师建议用二进制进行读写,以前C语言中也有二进制读取方式,不过感觉很麻烦所以一直也没用过,现在感觉二进制的读取方式应用在数组里面是目前我接触过的最方便的。
斜面附上代码:
斜面附上代码:
#include<iostream> #include<fstream> using namespace std; struct list{ char course[15]; int score; int num; }; int main() { list list3[3]={{"computer",90,1},{"mathematics",78,2},{"english",84,3}}; list st; fstream ff("f6.txt",ios::out|ios::in|ios::binary); if(!ff){ cout<<"open f6.txt error!"<<endl; exit(1); } for(int i=0;i<3;i++) ff.write((char*)&list3[i],sizeof(list));//将信息写入f6.txt ff.seekp(sizeof(list)*2);//定位至第3个信息 ff.read((char*)&st,sizeof(list));//读出放入st cout<<st.course<<" "<<st.score<<" "<<st.num<<endl; ff.seekp(sizeof(list)*0);//定位至第一个信息 ff.read((char *)&st,sizeof(list)); cout<<st.course<<" "<<st.score<<" "<<st.num<<endl; ff.seekp(sizeof(list)*1,ios::beg);//定位至第指针开始位置的下一个信息 ff.read((char *)&st,sizeof(list)); cout<<st.course<<" "<<st.score<<" "<<st.num<<endl; ff.close(); return 0; }
相关文章推荐
- C/C++二进制读取文件总结
- 第七讲:c/c++文件的读取、操作和定位
- C++读取存储float文件(txt文件和二进制文件)
- 关于C++二进制文件读取转换,数据版本升级,增加字段等结构调整工具的思路。
- C/c++与java之间的二进制文件相互读取
- C++读取二进制文件到二维数组并保存到文本文件
- c++怎么读取文件中的中文字符串的几种方法
- C++中如何根据多个字节读取二进制文件
- C++ 二进制读取文件
- C++ 读取二进制文件,并且保…
- C++ 将数据写入二进制文件后,第二次打开文件修改部分数据,怎么前一次写入的数据被删除了。
- C++ 怎么批量读取多个文件
- java读取C++里的文件,C++的long用java怎么读取。负数的转变
- C++ 读取二进制文件速度测试
- [VB.NET]如何定位读取二进制文件,每次只读取指定长度?
- C++ sstream 从文件中读取参数
- Java:二进制方式读取文件
- 探寻C++最快的读取文件的方案 ——C++ IO优化
- c++对文件进行操作之读取文件夹下面的图片名称
- c++将一个文件夹下的所有文件读取出来放在一个文件中