void input(const char filename[])
{FILE *fp;
fp=fopen(filename,"r");
if(fp=NULL)
{printf("file not found!");
pressanykey();
return;
}
int i=0;
while(!feof(fp))
{fscanf(fp,"%s%*c%s%*c%s%*c%s%*c%d% %d %f %d%*c",books[i].booknum,books[i].name,books[i].publish,books[i].author,&books[i].date.y,&books[i].date.m,&books[i].price,&books[i].n);
i=i+1;
}
fclose(fp);
}
if(fp=NULL)
->
if(fp==NULL)
pressanykey();
这个在哪里定义的
首先我发现格式化参数个数不匹配啊。(百分号个数和后面的参数)
你现在读取的内容是内容没有读取到还是其它什么错误
那个if判断不应该是等号吗?为何是赋值
fscanf()函数会自动过滤掉空格和回车,不需要你自己过滤,所以不需要%*c.