#include <stdio.h>
#define N 5
struct StuInfo
{
char name[10];
int num;
int age;
}stua[N],stub[N];
int main()
{
FILE*fp;
int i;
if((fp=fopen("d:\student.txt","w+b"))==NULL)
{
printf("打开错误");
exit(0);
}
printf("\ninput\n");
for(i=0;i<N;i=i+1)
scanf("%s%d%d", stua[i].name, &stua[i].num, &stua[i].age);
for(i=0;i<N;i=i+1)
fprintf(fp,"%s%d%d", stua[i].name, stua[i].num, stua[i].age);
rewind(fp);
for(i=0;i<N;i=i+1)
fscanf(fp,"%s%d%d\n", stub[i].name, &stub[i].num, &stub[i].age);
printf("\n\nname number age\n");
for(i=0;i<N;i=i+1)
printf("%s %5d %d\n", stub[i].name, stub[i].num, stub[i].age);
fclose(fp);
return 0;
}
感觉程序也没有啥问题呀,为什么运行出来老是只把值赋值到第一个里边呢?能指教一下吗?