题目:①创建一个文件FP,该文件包含n组结构体化的人员,每个人员的名称最多20个字符,以及一个整数以表示该人员的年龄(将其写为函数)。
②在屏幕上输出所有元素,一行输出一个人的姓名年龄(将其写为函数)
#include<stdio.h>
int i;
struct people {
char name[20];
int age;
};
void CreateFile(struct people num[],int n)
{
for(i=0;i<n;i++)
{
printf("请输入第%d个人的姓名:",i+1);
scanf("%s",&num[i].name);
printf("请输入第%d个人的年龄:",i+1);
scanf("%d",&num[i].age);
}
FILE *fp;
fp=fopen("FP.txt","wb");
fwrite(&num[i],sizeof(people),2,fp);
fclose(fp);
}
void ReadFile(struct people num[],int n)
{
FILE *fp;
fp=fopen("FP.txt","rb");
for(i=0;i<n;i++)
{
fread(&num[i],sizeof(people),2,fp);
printf("%s %d\n",num[i].name,num[i].age);
}
fclose(fp);
}
int main(void)
{
int n;
printf("请输入人数:");
scanf("%d",&n);
struct people num[n];
CreateFile(num,n);
ReadFile(num,n);
}
运行结果: