首页 > 编程语言 > 详细

C++学习(43)

时间:2018-07-01 23:39:19      阅读:236      评论:0      收藏:0      [点我收藏+]
 1 //随机访问文件
 2 //istream & seekg(<偏移量>,<参照位置>);
 3 //ostream & seekp(<偏移量>,<参照位置>);
 4 //ios::beg 文件开始位置
 5 //ios::cur 当前指针位置
 6 //ios::end 文件结束位置
 7 #include<fstream.h>
 8 
 9 struct student{
10     char name[20];
11     long numbet;
12     int score;
13 };
14 
15 int main(){
16     
17     student stu[3]={{"张三",11,60},{"李四",22,70},{"王五",33,80}};
18     student stu2;
19     char fileName[]="bbb.dat";
20     int n=3;
21 
22     fstream datafile(fileName,ios::in | ios::out | ios::binary);
23     for(int i=0;i<n;i++){
24         datafile.write((char *)&stu[i],sizeof(struct student));
25     }
26     datafile.seekp(1*sizeof(struct student),ios::beg);//指针定位到第二条记录
27     datafile.read((char *)&stu2,sizeof(struct student));//读文件
28     datafile.close();//关闭文件
29 
30     cout<<"姓名"<<stu2.name<<endl;
31     cout<<"学号:"<<stu2.numbet<<endl;
32     cout<<"分数:"<<stu2.score<<endl;
33 
34     return 0;
35 }

 

 

技术分享图片

 

bbb.dat文件的内容是

1 张三                   <   李四                   F   王五                !   P   

 

C++学习(43)

原文:https://www.cnblogs.com/Tobi/p/9251660.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!