CString str;str 中的数据是用单字节表示的汉字,我想把它变成用两个字节表示的汉字,我该如何做?

解决方案 »

  1.   

    你那CString 裡面的就是雙字節阿
    用MultiByteToWideChar(CP_ACP,0,..........);
      

  2.   

    你可以用MultiByteToWideChar将ansi字符串(单字节)转化成UNICODE字符串(双字节).另外,CString是支持UNICODE的,你可以直接用
    CString string=L"this is a try",这样string就是双字节的了。
      

  3.   

    CharToUnicode(BYTE* buf, DWORD bufSize)
    {
    CString csTemp;
    WCHAR *UnicodeStr=new WCHAR[bufSize+1];
    DWORD UnicodeSize=MultiByteToWideChar(CP_ACP,0, 
                (LPCSTR)buf,bufSize+1,UnicodeStr,(DWORD)bufSize+1);
    csTemp=UnicodeStr;
    delete [] UnicodeStr;
    }
      

  4.   

    我试了上面的方法,好象对我的问题没有解决!我是针对这个问题的:请看看:http://www.csdn.net/Expert/TopicView1.asp?id=911854
      

  5.   

    1、你的程序是否支持UNICODE。
    2、win98是不支持UNICODE的。