_T(),請問這個T有什麼作用?有時不加好像也可編譯呀?
我初學,請指教,謝謝.

解决方案 »

  1.   

    #define _T(x)   __T(x)
    #define __T(x) L##xL表示后面的字符串是宽字符(每个字符为2个字节)
      

  2.   

    这个_T作用是当你定义为UNICODE方式编译时,就作为UNICODE码来处理,如WIN2000、WINXP下;
    当你定义不是UNICODE方式(默认方式)编译时,就作为ANSI码来处理,如WIN9X、ME。
    MSDN有详细解释。
      

  3.   

    是一个宏
    对于一般的程序是没有用,但是如果定义了_UNICODE,就会把ANSI字符串转换为Unicode字符串
      

  4.   

    它的功能用UNICODE方式编译,转换成unicode编码,这种编码应用越来越广,现在很多新技术只认unicode码
      

  5.   

    _T()是定义在TCHAR.h中的一个Macro, 能够自动在ANSI和UNICODE之间进行转换。因为并不是
    所有的WINDOWS平台都支持UNICODE,WINDOWS 98只支持ANSI,WINDOWS CE只支持UNICODE,而
    WINDOWS2000即支持ANSI,又支持UNICODE。类似的好象还有TEXT()宏。