C++利用链表读文件,运行结果显示找不到相关信息


#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define MAX_NUM 20


    return 0;
}
 

img

个人感觉应该是你从文件中格式化读取出来的书本的信息有问题
建议你在读取文件后把每个属性用【】括起来输出,这样你能够看到读取的时候是不是多带了空格或者特殊符号

// ...
while(!feof(fp))
 {
  s=(LinkList*)malloc(sizeof(LinkList));
  fscanf(fp,"%d %s %s %s %s %d %f\n",&s->data.num,&s->data.cla,&s->data.name,&s->data.author,&s->data.company,&s->data.count,&s->data.price);
  printf(" 【%d】   【%s】\t 【%s】\t 【%s】        【%s】\t  【%d】\t  \t【%6.2f】\n",s->data.num,s->data.cla,s->data.name,s->data.author,s->data.company,s->data.count,s->data.price);
  s->next=NULL;
  s->next=s;
  last=s;
 }
 // ...