求大神!关于c语言,数据从文件读入结构体,运行总是出错!!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

struct g
{
char id[10];
char name[10];
char date[20];
char screen[10];
float number;
int price;
float total;
} Film[10],del;

main()
{
int n;
FILE *fp1;
fp1=fopen("C:\\用户\\lenovo\\桌面\\1.txt","r");
fscanf(fp1,"%s%s%s%s%f%d%f",&del.id,&del.name,&del.date,&del.screen,&del.number,&del.price,&del.total);
printf("%s %s %s %s %f %d %f",del.id,del.name,del.date,del.screen,del.number,del.price,del.total);
}

txt的内容
asd 一 一月一号 a 100.0 25 2500.0
运行上面这段程序时出现

因为你是读文件,如果没有这个文件,则程序运行即遇到文件不存在的错误。
你可以判断一下fp1是否为NULL。追问

哦哦,这个我会了,如果我改成结构体数组
for(n=0;n<10;n++)
fscanf(fp1,"%s%s%s%s%f%d%f",Film[0].id,Film[0].name,Film[0].date,Film[0].screen,&Film[0].number,&Film[0].price,&Film[0].total);
他读取数据时,为什么读到的都是同一组数据(文件内的数据我增加到了十条)

追答

。。。。你

你存入的都是下标0,当然是同一组数组。
Film[0].id----》Film[n].id,其他的也改

追问

额额,脑子不清醒。。。范二了,谢谢啊!有不懂得再问你

温馨提示:答案为网友推荐,仅供参考
相似回答