c语言读取TXT文件开头第一个单词后出现乱码

读取一个英文的txt文档,每次读取一个单词(检查是否空格)发现可以读完整篇文章,但是第一个单词后面出现了乱码(红色圈圈),调试了半天,单步运行发现在第一个单词最后一个字母... 读取一个英文的txt文档,每次读取一个单词(检查是否空格)发现可以读完整篇文章,但是第一个单词后面出现了乱码(红色圈圈),调试了半天,单步运行发现在第一个单词最后一个字母的时候多写了一些东西(多于一个字符),我已经试过不同的txt编码了ansi,utf8都还是有乱码。。。求助 展开
 我来答
HypnoS_s
2014-05-19
知道答主
回答量:18
采纳率:0%
帮助的人:19.7万
展开全部
第一个空格的时候执行printf("%s ",a)这条语句,但是,a[20]没有初始化,所以就会出现这问题

在while循环前面,memset()初始化一下a数组应该就可以了
海鹏数据恢复ZJ
2014-05-19 · TA获得超过147个赞
知道小有建树答主
回答量:293
采纳率:100%
帮助的人:227万
展开全部
读文本,我以前也试过, 这样可以可以. fgets是读一行,会在'\n'处停止. 我建议,以整行为单位,进行读取.
FILE *pf = open("测试文本.txt", "rt");

char buf[2048]; //缓存弄大点
while(fget(buf, 2048, pf))
{
printf(buf);
}

fclose(pf);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式