📄 shiti6_5_1.cpp
字号:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
struct student
{
int no;
char name[10];
double degree;
};
struct student stu[3]={1,"张三",90,5,"李四",84,5,9,"王五",79};
void main()
{
int i;
student temp;
fstream infile,outfile;
outfile.open("data.dat",ios::out|ios::trunc|ios::binary);
if(!outfile)
{
cout<<"can't open the file."<<endl;
abort();
}
for(i=0;i<3;i++)
outfile.write((char *)&stu[i],sizeof(stu[i]));
outfile.close();
cout<<"data.dat的内容如下:"<<endl;
infile.open("data.dat",ios::in|ios::binary);
for(i=0;i<3;i++)
{
infile.read((char *)&stu[i],sizeof(stu[i]));
cout<<stu[i].no<<"\t"<<stu[i].name<<"\t"<<stu[i].degree<<endl;
}
infile.close();
cout<<"删除第二个记录后,data.dat的内容如下:"<<endl;
outfile.open("data.dat",ios::out|ios::trunc|ios::binary);
for(i=0;i<3;i++)
if(i!=1)
outfile.write((char *)&stu[i],sizeof(stu[i]));
outfile.close();
infile.open("data.dat",ios::in|ios::binary);
for(i=0;i<2;i++)
{
infile.read((char *)&stu[i],sizeof(stu[i]));
cout<<stu[i].no<<"\t"<<stu[i].name<<"\t"<<stu[i].degree<<endl;
}
infile.close();
cout<<"请输入记录号:";
cin>>i;
infile.open("data.dat",ios::in|ios::binary);
int pos=(i-1)*sizeof(student);
infile.seekg(pos);
infile.read((char *)&temp,sizeof(student));
cout<<"记录"<<i<<"如下:"
<<temp.no<<"\t"<<temp.name<<"\t"<<temp.degree<<endl;
infile.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -