在看别人的程序时经常能看到给变量赋值str = _T("china") str = _TEXT(  "china" )
这么写str = "china" 有什么区别??

解决方案 »

  1.   

    为了兼容Unicode字符集和ANSI字符集的程序代码。在头文件里面有类似的代码:
    #ifdef UNICODE
    #  define _TEXT(x) L ## x
    #else
    #  define _TEXT(x) x
    #endif也就是说对应不同的系统(是否用Unicode字符集)
    如果用的是ANSI字符集,str=_TEXT("china") 实际上的编译代码是:str="china"
    如果用的是Unicode字符集,str=_TEXT("china") 实际上的编译代码是:str=L"china"就这样。