码迷,mamicode.com
首页 > 编程语言 > 详细

C++学习(43)

时间:2018-07-02 00:14:01      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:turn   code   alt   include   int   .com   c++   sizeof   str   

 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)

标签:turn   code   alt   include   int   .com   c++   sizeof   str   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!