demo_5_file_dat_1_c.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 65 行

CPP
65
字号

//***************************************************
// 将一批数据以二进制形式存储在磁盘文件中,而后
// 将存放在磁盘的二进制文件中数据读入内存并显示.
//***************************************************

# include <fstream.h>
# include <stdlib.h>

struct student
{
	char name[20];
	int num;
	int age;
	char sex;
};

int main()
{
	student stud[3]={"Li",1001,18,'f',"Fun",1002,19,'m',"Wang",1004,17,'f'};

	fstream file;

//*******************************************************
	file.open("stud.dat",ios::out|ios::binary);

	if(!file)
	{
		cerr<<"open error!"<<endl;
		exit(1);
	}

	int i;
//	for(i=0;i<3;i++)
//		file.write((char *)&stud[i],sizeof(stud[i]));
	file.write((char *)&stud[0],sizeof(stud));

	file.close();

//*******************************************************
	file.open("stud.dat",ios::in|ios::binary);

	if(!file)
	{
		cerr<<"open error!"<<endl;
		exit(1);
	}

//	for(i=0;i<3;i++)
//		file.read((char*)&stud[i],sizeof(stud[i]));
	file.read((char *)&stud[0],sizeof(stud));
	
	file.close();
	
	for(i=0;i<3;i++)
	{
		cout<<"NO."<<i+1<<endl;
		cout<<"name:"<<stud[i].name<<endl;
		cout<<"num:"<<stud[i].num<<endl;
		cout<<"age:"<<stud[i].age<<endl;
		cout<<"sex:"<<stud[i].sex<<endl<<endl;
	}

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?