谢长留 2019-12-07 18:27 采纳率: 66.7%
浏览 1474
已采纳

C语言fscanf文件输入时,文件中的文字到变量中变成乱码(?)

下面是用到的代码:
//初始化链表
Status InitList(LinkList &L)
{
L.head = (LNode*)malloc(sizeof(LNode));
if (!L.head)exit(OVERFLOW);
L.length = 0;
L.head->next = NULL;
return OK;
}
//尾插法创建单链表
Status CreateFromTail(LinkList &L)
{
LNode s,*r=L.head;
s = (LNode)malloc(sizeof(LNode));
fp = fopen("C:/Users/名字/source/student_info.txt", "r");
if (fp==NULL)
{
printf("打不开\n");
return OK;
}
while (fscanf(fp, "%d\t\t%s\t\t%s\t\t%s\t\t%s\n", &s->data.num, s->data.name, s->data.sex, s->data.dorm, s->data.tel) != EOF)
{
s->next = r->next;
r->next = s;
r = s;
++L.length;
s = (LNode*)malloc(sizeof(LNode));
}
fclose(fp);
return OK;
}
//打印文件
void PrintElem(LinkList L)
{
LNode* p;
p = L.head->next;
printf("当前的结点数为:%d\n", L.length);
while (p)
{
printf("%d\t\t%s\t\t%s\t\t%s\t\t%s\n", p->data.num, p->data.name, p->data.sex, p->data.dorm, p->data.tel);
p = p->next;
}
printf("\n");
}
int main()
{
int n;
LinkList L;
InitList(L);
CreateFromTail(L);

PrintElem(L);
}

图片说明
图片说明

比如前三个,汉字输出不一样了,但是后面字母是对的

  • 写回答

3条回答 默认 最新

  • ♚ ₯㎕。Smile°� 2021-01-03 12:12
    关注

    是不是创建txt编码格式错了,换成ANSI试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 4月27日

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?