我先说一下我的问题:VC6.0下使用Debug版本的时候程序的字符串显示正常,但是到了Release版本下就不能够正常显示了。由于要显示的数据是直接从磁盘读取的,我使用一个BYTE的数组保存了这些数据,这些数据本身就是Unicode的形式的。按理说,使用CString的Format函数是没有问题的啊?但是到了Release下就不行了。我还在VC6.0和VS2010下作了一个简单的实验,实验的内容如下:1、在VC6.0下(当然是设置工程为Unicode工程),建立了基于对话框的程序,在初始化函数中添加如下代码
BYTE b[12] = {0x44, 0, 0x45, 0, 0x46, 0, 0x47, 0, 0x48, 0, 0, 0};
CString str(_T(""));
str.Format(_T("%s"), b);
AfxMessageBox(str);
结果:Debug下正常显示"DEFGH" 但是在Release下只显示了一个"D"
2、在VS2010下与以上一样的不走和代码,但是全部显示正常。
我的VC6.0原来没有Unicode工程的库(MFC42UD),后来我是到网上下载的,我想是不是缺少了Release版本的什么库啊!!如果是的话可以发到 万分感谢!!!!!!!PS:老师指定要使用VC6.0 ⊙﹏⊙b汗!!