/************************************************************************************
******函数功能:从键盘输入2个学生的有关数据,然后把它们以二进制的格式输入到磁盘文件中
******fread,fwrite
******fread(buffer,size(每块字节数),count(块个数),fp)
*************************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#define SIZE 2
struct student_type
{
char name[20];
int num;
int age;
char address[20];
}stu[SIZE];
void save()
{
int i = 0;
FILE *fp = fopen("stu_info","wb+");
if (NULL == fp)
{
perror("stu_info");
exit(EXIT_FAILURE);
}
for (i = 0 ; i < SIZE; i++)
{
if ( fwrite(&stu[i],sizeof(struct student_type),1,fp) != 1 )
{
printf("写入出错");
exit(EXIT_FAILURE);
fclose(fp);
}
}
//fclose(fp);
}
void load()
{
int i = 0;
FILE *fp = fopen("stu_info","rb+");
if (NULL == fp)
{
perror("stu_info");
exit(EXIT_FAILURE);
}
for (i = 0 ; i < SIZE; i++)
{
fread(&stu[i],sizeof(struct student_type),1,fp);
}
}
void main()
{
int i = 0;
for (i = 0 ; i < SIZE; i++)
{
scanf("%s %d %d %s",stu[i].name,&stu[i].num,&stu[i].age,stu[i].address);
}
save();
load();
for (i = 0 ; i < SIZE; i++)
{
printf("%s %d %d %s\n",stu[i].name,stu[i].num,stu[i].age,stu[i].address);
}
}
fread,fwrite
最新推荐文章于 2024-03-30 16:26:33 发布