struct stu
{
char name[10];
int num;
}boya[3],boyb[3],*pp,*qq;
int main()
{
FILE *fp;
int i;
pp=boya;
qq=boyb;
fp=fopen("2.txt","wb+");
rewind(fp);
printf("input data\n");
for(i=0;i<3;i++,pp++)
{
scanf("%s%d",pp->name,&pp->num);
}
pp=boya;
fwrite(pp,sizeof(struct stu),3,fp);
fseek(fp,sizeof(struct stu),0);
fread(qq,sizeof(struct stu),1,fp);
printf("%s\t%d\n\n",qq->name,qq->num);
fseek(fp,sizeof(struct stu),1);
fread(qq,sizeof(struct stu),1,fp);
printf("%s\t%d\n\n",qq->name,qq->num);
fclose(fp);
}
为什么第二次fseek后,第二次的结果不变?
结果图:
pp这个指针已经指向boya这个结构体指针了,为什么去掉pp=boya会出问题?
去掉pp=boya的结果图: