为什么读文本时结尾处有乱码(我设‘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屯?
这是为了什么呢?