我的工程不是Unicode的,我想将文件的Unicode字符串读进来,再显示到一个控件中,现在能读,但在显示的时候有问题,该怎么改改啊?m_szText是一个CStatic控件。
WCHAR szCommandFile[MAX_PATH];
WCHAR szFilePath[MAX_PATH];
swprintf(szCommandFile, L"%s", L"c:\\temp\\enumfs2.ini");
GetPrivateProfileStringW(L"C:\\TEMP\\22\\", L"f2", L"", szFilePath, MAX_PATH, szCommandFile);

m_szText = CString(szFilePath);   // 这儿就出错了 UpdateData(FALSE);

解决方案 »

  1.   

    你的工程既然不是UNICODE的,当然不支持显示UNICODE文字了.
      

  2.   

    整个工程比较大,但就一个地方需要显示Unicode字符,是否必须把整个工程都要转成Unicode的?
    如下这样行吗?我试了,但不行。#define _UNICODE
    WCHAR szCommandFile[MAX_PATH];
    WCHAR szFilePath[MAX_PATH];
    swprintf(szCommandFile, L"%s", L"c:\\temp\\enumfs2.ini");
    GetPrivateProfileStringW(L"C:\\TEMP\\22\\", L"f2", L"", szFilePath, MAX_PATH, szCommandFile);

    char szsFilePath[MAX_PATH];
    WideCharToMultiByte(CP_ACP, 0, szFilePath, -1, szsFilePath, MAX_PATH, NULL, NULL); m_szText = CString(szFilePath); UpdateData(FALSE);#undef _UNICODE
      

  3.   

    把该处的Unicode字符转换为Ansi字符,W2A()应该可以