从文件读入数据再显示出来出现乱码(急,当天解决)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从文件读入数据再显示出来出现乱码(急,当天解决)相关的知识,希望对你有一定的参考价值。

图书管理系统 从文件读入书目信息 只是个调试用的代码 书目信息简化成只有一项书名
代码如下
struct book

char name[50];
struct book *next;
;
FILE *fp;
struct book *bhead;
struct book *p;

struct book *appendnode(struct book *head)

struct book *p=NULL,*pr=head;

p=(struct book *)malloc(sizeof(struct book));
if (head==NULL) head=p;
else

while (pr->next!=NULL) pr=pr->next;
pr->next=p;

pr=p;
fscanf(fp,"%s",pr->name);
pr->next=NULL;
return head;


void loadbook()

fp=fopen("d:\\lib\\book.txt","r");
bhead=NULL;
p=bhead;
while (!feof(fp))

bhead=appendnode(bhead);

if (bhead!=NULL)

for (p=bhead;p!=NULL;p=p->next)
printf("%s\n",p->name);


主函数调用loadbook就可以了
自己创建txt文件写若干行的字符串 输出没问题
可如果是空文件或有空行就会输出乱码 这是什么问题?求教
比如文件里是这样的
abc
def
ghi
(空行)
输出就是
abc
def
ghi
(乱码)
while (!feof(fp))

bhead=appendnode(bhead);

调试的时候文件为空 但这句话要进去执行一次 然后结果就错了 这是什么原因呢?

解压文件出现中文乱码怎么办解决办法

参考技术A printf("%s\n",p->name); ===〉printf("%s\n",p->name?p->name:"null");追问

这个貌似不行 还跟之前一个结果 空文件的话是输出一个问号和一个随机的字符

追答

这怪你的appendnode 函数;
你应该是先
fscanf(fp,"%s",name);
检查name合格才创建一个node

追问

能提下怎么解决这个问题么?具体代码怎么改、

追答

struct book *appendnode(struct book *head)

struct book *p=NULL,*pr=head;

p=(struct book *)malloc(sizeof(struct book));
fscanf(fp,"%s",pr->name);
if(pr->name[0] == 0) /////////////////////////
free(p);return head;////////////////////////
///////////////////

if (head==NULL) head=p;
else

while (pr->next!=NULL) pr=pr->next;
pr->next=p;

pr=p;
pr->next=NULL;
return head;

追问

if(pr->name[0] == 0)
name是个字符串 怎么等于0呢
运行就崩溃了

追答

不是还有个[]嘛,
f(pr->name[0] == 0) ===〉f(p->name[0] == 0) ///////搞错了

本回答被提问者采纳

Mysql命令行查询的结果中文为乱码怎么办?

PHP程序使用的是utf-8,在程序里显示没有问题,但是在MYSQL的命令行里查询出来的结果中文不能正常显示,我把MYSQL的字符集改成utf8,gb2312都不行.用set names 字符集也不行,谁能说说这个是怎么回事?
我在网上查说改了字符集并不会影响原有的数据的字符集,于是我删除数据库,重建再查询还是不行..

在线等,急!!!

QQ:112873275

请懂的人帮帮忙分析一下!

参考技术A 首先,将你的mysql字符集都统一字符集。你show variables like '%chara%';看看是不是统一了。
然后,你进入命令行工具的时候,set NAMES gb2312 ;再查询就可以了。不要设置为utf8;命令行工具不支持。

除非你弄好,否则不要谢谢我。

以上是关于从文件读入数据再显示出来出现乱码(急,当天解决)的主要内容,如果未能解决你的问题,请参考以下文章

excel 表格,我在拉下公式 出现乱码 #VALUE! 怎么解决啊!急!!!!!

saiku 显示中文出现乱码,显示维度和度量时中文乱码,但是查询结果是正确的,求解答!!急!!谢谢

R语言:读入txt文件中文文本出现乱码解决方案

用java读取txt文件中的中文写入数据库出现中文乱码,怎么解决?

用java读取txt文件中的中文写入数据库出现中文乱码,怎么解决?

怎么解决js解码base64中文乱码问题