#include<stdio.h>
#include<string.h>
#define N 3
struct MSTU { char name[20],addr[80]; int age,sex; };
void main()
{ MSTU mstudent[N];
int i,n;
FILE *fp;
char buffer[256],s[2][3]={ "女","男" },sex[20];
strcpy(mstudent[0].name,"李明"); mstudent[0].age=14; mstudent[0].sex=1;
strcpy(mstudent[0].addr,"北京xx区xx路xx号01");
strcpy(mstudent[1].name,"赵飞翔"); mstudent[1].age=13; mstudent[1].sex=1;
strcpy(mstudent[1].addr,"北京xx区xx路xx号02");
strcpy(mstudent[2].name,"王晓红"); mstudent[2].age=14; mstudent[2].sex=0;
strcpy(mstudent[2].addr,"北京xx区xx路xx号03");
if ( fp=fopen("student.txt","w+") )
{ for ( i=0;i<N;i++ )
{ sprintf(buffer,"%s %s %d %s\n",mstudent[i].name,s[mstudent[i].sex],
mstudent[i].age,mstudent[i].addr);
fputs(buffer,fp);
}
fclose(fp);
} else printf("无法建立输出文件。\n");
if ( fp=fopen("student.txt","r") )
{ i=0;
while ( !feof(fp) && i<N && fgets(buffer,255,fp) )
{ sscanf(buffer,"%s %s %d %s",mstudent[i].name,sex,&mstudent[i].age,
mstudent[i].addr);
mstudent[i].sex=( strcmp(sex,"女")==0 )?(0):(1);
printf("%s %s %d %s\n",mstudent[i].name,s[mstudent[i].sex],
mstudent[i].age,mstudent[i].addr);
i++;
}
fclose(fp);
} else printf("无法打开文件读入数据。\n");
}