69,382
社区成员
发帖
与我相关
我的任务
分享
void main()
{ FILE *fp;
int i=0;
if ((fp=fopen("F:\data.txt","rb"))==NULL)
{printf("cannot open file!");
exit(0);}
while(!feof(fp))
{
if(fread(&lineinfo[0],sizeof(struct airline),1,fp)!=1)
{ printf("read error!");
printf("%d",feof(fp));
exit(0);}
}
fclose(fp);}
#include<stdio.h>
struct airline
{
int a;
int b;
};
int main()
{ FILE *fp;
struct airline lineinfo[4];
lineinfo[0].a = 1;
lineinfo[0].b = 2;
lineinfo[1].a = 3;
lineinfo[1].b = 4;
int i=2;
if((fp = fopen("lineinfo.out","wb")) == NULL)
{
printf("cannot open file!");
exit(0);
}
fwrite(&lineinfo[0],sizeof(struct airline),1,fp);
fwrite(&lineinfo[1],sizeof(struct airline),1,fp);
fclose(fp);
getchar();
if ((fp=fopen("lineinfo.out","rb+"))==NULL)
{printf("cannot open file!");
exit(0);}
while(!feof(fp))
{
fread(&lineinfo[i++],sizeof(struct airline),1,fp);
}
printf("%d %d\n",lineinfo[2].a,lineinfo[2].b);
printf("%d %d",lineinfo[3].a,lineinfo[3].b);
fclose(fp);
system("pause");
return 0;
}
还没fread就判断feof永远都是false.