为什么用fscanf函数把文本中的数据读入时,第一行总是乱码~~~求解啊。。。

typedefstructGoods{intnum;//商品号charname[20];//商品名称intprice;//商品单价intcount;//商品数量longi... typedef struct Goods
{
int num;//商品号
char name[20];//商品名称
int price;//商品单价
int count;//商品数量
long int total;//商品总价
struct Goods *next;
}goods;//这是结构体

这是读出第一行的乱码
展开
 我来答
沧海雄风2009
2012-09-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2893万
展开全部
折腾文件和字符串我最拿手了

你把你的文本 内容格式 还有你的代码发上来

十有八九是你解析错误
更多追问追答
追问
void input(goods *head)

{
goods *p;
FILE *fp;
if((fp=fopen("goods.txt","r"))==NULL)
{
printf("打开失败\n");
exit(1);
}
rewind(fp);
while(!feof(fp))
{
p=(goods*)malloc(sizeof(goods));
fscanf(fp,"%d %s %d %d %ld",&p->num,p->name,&p->price,&p->count,&p->total);
p->next=head->next;
head->next=p;
}
fclose(fp);
}这是其中的一个把txt文件内容读出来的程序,读出来第一行就是乱码= =
追答
txt文件内容格式 能贴出来 或者上个图么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28b4182
2012-09-28 · TA获得超过7223个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1880万
展开全部
freopen("C:\\test.txt","r",stdin);//用这种方式打开,就可以直接读了,不用fscanf
scanf("%d",&n);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-28
展开全部
二进制的,望采纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bing_loves_LT
2012-09-28 · TA获得超过194个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:111万
展开全部
目测有中文字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b2e2c83d
2012-09-28
知道答主
回答量:36
采纳率:0%
帮助的人:17.4万
展开全部
计数从0开始!
追问
rewind(fp);

这个函数不就是将文件位置指针置于文件开头吗??
追答
p初始化的问题吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式