看过头文件里的定义了,这是一个指向类型为wchar_t的指针,怎么使用这个指针的呢?高手能举个例子吗?

解决方案 »

  1.   

    在UNICODE的环境下,一般是VS2005以上,处理字符时用,用起来时跟char差不多,只是char在ASCII环境下
    wchar_t* pWch = L"abcdef";
    wprintf(pWch);查MSDN吧,现在MSDN的字符函数,都有写出 char 与 wchar_t 2种版本的用法的了.
      

  2.   

    直接用就是了,比如写成:
    LPCTSTR pStr=_T("KKKKKK");
      

  3.   

    LPCTSTR szBuf = _T("Hello,World");
      

  4.   

    是宽字节,也就是由两个字节存储一个字符
    如果你习惯用 char *,可以转换一下使用//========== 将 wchar_t * 转换为 char * ==========
    wchar_t *lpWchar =  L"ABCDEFG";
    //取得宽字节大小
    DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,lpWchar,-1,NULL,0,NULL,FALSE);
    char *psText;
    //分配 char 缓冲区
    psText = (char *)GlobalAlloc(GMEM_ZEROINIT, dwNum);
    //转换 wchar_t * 到 char * 缓冲区
    WideCharToMultiByte (CP_OEMCP,NULL,lpWchar,-1,psText,dwNum,NULL,FALSE);
    MessageBox(0,psText,"结果",64);//========== 将 char * 转换为 wchar_t *  ==========
    char *psText = "ABCDEFG";
    //取得要转换的宽字符空间大小
    DWORD dwNum = MultiByteToWideChar(CP_ACP,0,psText,-1,NULL,0);
    wchar_t *pwText;
    //分配 wchar_t 缓冲区
    pwText = (wchar_t *)GlobalAlloc(GMEM_ZEROINIT, dwNum);
    //转换 char * 到 wchar_t * 缓冲区
    MultiByteToWideChar (CP_ACP, 0, psText, -1, pwText, dwNum);
    MessageBoxW(0,pwText,L"结果",64);
      

  5.   

    和LPTSTR是一样的啊
    只不过他是在Unicode环境下处理字符串的
      

  6.   

    LPCTSTR szBuf = _T("Hello,World");直接这样用就行了。