#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;
}
也看不出来什么错误,但运行出来好像输入的所有数字都赋值到第一个里边了,感觉很奇怪,有大神能指明一下错误吗?

