为什么我的Cstring转化LPCWSTR转化时,只有第一个字符被转化??

解决方案 »

  1.   

    #include <atlbase.h>USES_CONVERSION;
    T2W();
      

  2.   

    你的工程是ANSI,CString就是ANSI
    CString strValue;
    //...
    LPCWSTR pStr = (LPCWSTR)_bstr_t(strValue);
      

  3.   

    调用器有时候只显示第一个字符,要将其输出到屏幕上看.或者存成文件.或者用MessageBox()来看.
      

  4.   

    CString pngName = m_valuelist->GetAt(m_valuelist->FindIndex(1));USES_CONVERSION; 
    LPCSTR lpName = (LPCSTR)pngName;
    LPCWSTR wlpName = A2CW(lpName);调试结果:
    - lpName 0x00422dfc ".\images\truck1.png"
    46 '.'
    - wlpName 0x0012efa4
    46
      

  5.   

    解决了,我把环境改成了_UNICODE,然后把所有的都改成unicode环境下的,然后就可以了