由于书上大多数都是从键盘上输入数据,很少将从文件中读取,本人特点写了一段代码,仅供大家参考
#include<stdio.h>
#define N 3
struct student
{ char name[20];
int num;
int age;
int sex;
} stu[N];
int main()
{ FILE *fp;
int i;
struct student a[N];
char s[2][3]={“男”,“女”};
printf(“请顺序输入:学号 姓名 年龄 性别(用空格分隔,性别用1代表女生,0代表男生)\n”);
for (i=0;i<N;i++ )
{
printf("%d: “,i+1);
scanf(”%d %s %d %d",&stu[i].num,stu[i].name,&stu[i].age,&stu[i].sex);
}
if ( fp=fopen(“stud.txt”,“w+”))
{
fwrite(stu,sizeof(struct student),N,fp);
fclose(fp);
} else printf(“无法建立文件\n”);
if (fp=fopen(“stud.txt”,“r”))
{
fread(a,sizeof(struct student),N,fp);
fclose(fp);
} else printf(“无法打开文件读取。\n”);
printf(" 学生信息\n学号 姓 名 年龄 性别\n");
for ( i=0;i<N;i++ ) {
printf("%04d %-10s %-4d %s\n",a[i].num,a[i].name,a[i].age,s[a[i].sex]);
}
return 0;
}