结构体数组,scanf和fscanf 不能写入
定义了一个结构体数组,从文件里导入数据,使用fscanf函数,导入不了,然后我改成使用scanf函数直接输入数据也不能输入。错误提示:runtime error (press retry debug the application)。请问这是怎么回事?
程序代码:typedef struct
{
char name[30];
char author[20];
int type;
int price;
}Book;
FILE *fin,*fout;
//////////////////////////
int main()
{
int j,i=1,n=0;
Book books[20];
fin = fopen("books.txt","r");
fout = fopen("book.txt","a");
if(fin == NULL && fout == NULL)
{
printf("文件打开失败!\n");
exit(0);
}
// scanf("%s%s%d%f",books[i].name,books[i].author,&books[i].type,&books[i].price);
// fprintf(fout,"%4s%4s%4d%4.2f",books[i].name,books[i].author,books[i].type,books[i].price);
while (!feof(fin))
{
// i++;
fscanf(fout,"%s%s%d%f",books[i].name,books[i].author,&books[i].type,&books[i].price);
i++;
n++;
}
fclose(fin);
fclose(fout);
return 0;
}









