⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shiti6_5_1.cpp

📁 为初学者提供的最佳的C++程序设计源程序库
💻 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 + -