char temp[10];
strcpy(temp, "中国");
请问如何把temp转换成调用_T("中国")一样的效果?

解决方案 »

  1.   

    不太熟,应该可以吧
    CString s;
    s.Format("%s",temp);then s == _T("中国");
      

  2.   

    // 如果你要 UNICODE 版本, 则去掉下面这个注释#define _UNICODE
    #define UNICODE#include <tchar.h>#include <windows.h>
    TCHAR temp[10];
    lstrcpy(temp, _T("中国"));
      

  3.   

    // 如果你要 UNICODE 版本, 则去掉下面这个注释//#define _UNICODE
    //#define UNICODE#include <tchar.h>#include <windows.h>
    TCHAR temp[10];
    lstrcpy(temp, _T("中国"));
      

  4.   

    不不不,我的意思是,我有了一个char temp[10],而且字符已经赋值完毕,如何转换,使之与_T("")的值一样谢谢大家!
      

  5.   

    不不不,还是我没说清楚比如说,AfxMessageBox(_T("中国"));这个函数的参数只能是_T("")可是,我希望把char temp[10];中的字符串用这个函数显示出来,应该怎么办我用的是EVC,和VC不太一样,所以请教大家转换方法,谢谢!
      

  6.   

    你指的是 ANSI 到 UNICODE 的转换吧, 下面两个函数提供了这些转换, 都是 WIN32 API.  具体用法 MSDN 上说得最清楚WideCharToMultiByte
    MultiByteToWideChar//假定曾有下面的声明
    char UserName[256];
    WCHAR wszUserName[256];
    //......
    //......MultiByteToWideChar( CP_ACP, 0, UserName,strlen(UserName)+1, wszUserName, sizeof(wszUserName)/sizeof(wszUserName[0]) );