白夜... 2021-10-16 16:17 采纳率: 0%
浏览 30
已结题

写链表相关代码时读取一个txt文件并打印到屏幕结尾出现乱码该怎么解决


//导入文件到链表
int Creatlist(Linklist& L,const char* filename){
    fstream file;
    Linklist p, q;
    p = L;
    file.open(filename);
    if (!file) { 
        cout << "出现错误"<<"\n";
        return 0; }
    file >> head_1 >> head_2 >> head_3;
    while (!file.eof()) {
        q = new LNode;
        file >> q->data.id >> q->data.name >> q->data.score;
        p->next = q;
        p = q;
    }
    p->next = NULL;
    file.close();
    cout << "数据导入成功"<<"\n";
    return 0;
}
void Viewlist(Linklist L) {
    cout << head_1 << "\t\t" << head_2 << "\t\t" << head_3 << "\n";
    Linklist p;
    p = L;
    p = p->next;
    while (p) {
        cout << p->data.id<<"\t\t"<< p->data.name<<"\t\t"<< p->data.score<<"\n";
        p = p->next;
    }
    cout << "全部打印完毕"<<"\n";
}

/*部分运行结果如下:
1033            黄先宏          79
1034            贾成东          92
1035            姜爽              70
-842150451                              -842150451
全部打印完毕

运行结果没问题,就是结尾有两个乱码,这是导入和打印的函数,求解决方式*/
  • 写回答

2条回答 默认 最新

  • 白夜... 2021-10-16 16:20
    关注

    我看了不少答案是说没有读取到文件结尾的\0符,刚开始学也不太清楚这个该怎么读取,可以请教一下大家吗

    评论

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料