qq_27280853 2015-04-09 15:11 采纳率: 0%
浏览 2762

为什么链表在文件中输出后显示的是乱码?

int ListInsert( linklist &head)
{
system("cls");
char ch[2];
linklist *r,*s;
FILE *fp;
r=head;
s=LEN;
printf("是否添加学生成绩信息(Y/N):");
scanf("%s",ch);
printf("请输入商品的id号:");
scanf("%s",s->id);

while(strcmp(ch,"Y")==0 || strcmp(ch,"y")==0)
{

system("cls");
if((fp=fopen("data.txt","r"))==NULL)
{
printf("打开文件失败,可能是此文件不存在\n");
return false;
}
if(head->next==NULL)
{
linklist *p,*k;
k=p;
while(!feof(fp))
{
p=LEN;
fread(p,sizeof(linklist),1,fp); //将数据读入新链
r->next=p;
r=p;
p=p->next;
r->next=NULL;
}

}
while(r->next!=0)
{ r=r->next;
if(strcmp(r->id,s->id)==0)
{
printf("该商品已经存在\n");
return false;
}
}
system("cls");
printf("请输入商品条码号:");
scanf("%s",s->id);
s->id[4]='\0';
printf("请输入商品名称:");
scanf("%s",s->sname);
s->sname[14]='\0';
printf("请输入供应商:");
scanf("%s",s->sup);
s->sup[17]='\0';
printf("请输入进货价:");
scanf("%f",&s->price1);
printf("请输入销售价:");
scanf("%f",&s->price2);
printf("请输入进货数量:");
scanf("%",&s->num);
fwrite(s,1,sizeof(linklist),fp);
r->next=s;
r=s;
fclose(fp);
printf("保存成功\n");
system("cls");
printf("是否继续添加(Y/N):");
scanf("%s",ch);
}
r->next=NULL;
}
/
---------------------显示信息----------------------*/
void view(int n)
{
FILE *fp;
int m=0;
linklist *head,*r,*p;
if(n==0)
return;
system("cls");
if((fp=fopen("data.txt","r"))==NULL)
{
printf("打开文件失败,可能是此文件不存在\n");
return;
}
head=LEN;
r=head;
while(!feof(fp))
{
p=LEN;
fread(p,sizeof(linklist),1,fp); //将数据读入新链
r->next=p;
r=p;
p=p->next;
r->next=NULL;
m++;
}

fclose(fp);
if(m==0)
{
printf("目前尚未添加记录\n");
return;
}
PRINTF;
p=head->next;
while(p)
{

    printf("%s%s%s",p->id,p->sname,p->sup);
    printf("%f%f%d",p->price1,p->price2,p->num);
    printf("\n");
     p=p->next;
}

}

  • 写回答

2条回答 默认 最新

  • 仗剑天涯慰平生 2015-04-09 15:43
    关注

    fread(p,sizeof(linklist),1,fp); //将数据读入新链
    这是按照流文件的方式读取的,
    你这真的是文本文件么?

    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题