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

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>structg{charid[... #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
运行上面这段程序时出现
展开
 我来答
kevin_room
2013-07-04 · TA获得超过132个赞
知道小有建树答主
回答量:156
采纳率:100%
帮助的人:88.9万
展开全部
因为你是读文件,如果没有这个文件,则程序运行即遇到文件不存在的错误。
你可以判断一下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,其他的也改
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式