标题:为什么读文本时结尾处有乱码(我设‘0’了呀)?
取消只看楼主
llt2007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-10-12
 问题点数:0 回复次数:0 
为什么读文本时结尾处有乱码(我设‘0’了呀)?
好奇怪,单行的文本没有问题,有换行的文本最后就有一个乱码,
FILE *pFile=fopen("E:\\my程序\\File\\huanhuang.txt","r");
fseek(pFile,0,SEEK_END); //***************将文件指针移到结束位置
int cangd=ftell(pFile); //***************得到当前位置(文件长度)
char *buf=new char[cangd+1]; //***************获得对应大小的内存
rewind(pFile); //***************将文件指针移到开始位置
fread(buf,1,cangd,pFile); //***************读取
buf[cangd]=0; //***************将最后一个元素设置为0

fclose(pFile); //***************关闭文件
MessageBox(buf);
输出时是: abcdefg
hijklmn
qpqrst
uvwxyz屯?
这是为了什么呢?
搜索更多相关主题的帖子: 结尾处 乱码 文本 
2007-11-03 15:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-183179-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.097002 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved