关于CFile读取文件末尾多几个乱码字符的问题解决

最近用MFC做文件IO,发现使用CFile类读取文件数据到char *时,末尾总会多几个莫名奇妙的乱码字符。

解决方法如下,char * 申请空间时,多new一个,读取文件后,最后一个值赋值为'\0',这样就i不会有末尾的乱七八糟的乱码了。

 

    …………
    …………
    if ( bOpen ) // CFile::Open的返回值
	{
		ULONG nLen = fileOpr.GetLength();
		if (nLen < 1)
			return strDataRet;
		char *buff = new char[nLen+1];
		memset(buff, 0, nLen);
		fileOpr.Read(buff, nLen);
		buff[nLen] = '\0';
		strDataRet.Format("%s", buff);

		delete []buff;
		buff = NULL;
	}
    …………
    …………

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页