请问为什么在MFC生成的程序中用_T("AAA")没有问题,而自己建的WIN32控制台应用程序却不能用这个?

解决方案 »

  1.   

    项目属性->常规->字符集->使用多字节字符集
      

  2.   

    右击关键字>Goto Defination _T#define _T(x)       __T(x)#define __T(x)      x
      

  3.   

    To wKernel:这个我也查看过了,我最开始也是以为一样,但后来往后看了一下,发现下面这段,说明#define _T(x)  __T(x)肯定是条件编译里的一个语句,所以在某些情况下可能会不同,后来上网查了一下,用_T是为了增强程序的移植性
    .....
    .....
    #define _T(x)       __T(x)
    #define _TEXT(x)    __T(x)
    #ifdef  __cplusplus
    }   /* ... extern "C" */
    #endif#endif  /* _INC_TCHAR */搜索了一下,相当于下面的#ifndef _INC_TCHAR
    #define _INC_TCHAR
    #define _T(x)       __T(x)
    #endif
      

  4.   

    mgtcllxl ,谢了.你这是VS2005或VS2003下改的吧,在VC++ 6.0下是这样改的Setting--->C/C++--->Preprocessor difinitions 去除_MBCS,加_UNICODE.不过我也不想用VC++ 6.0了,但VS2005改了好多类的函数,一时改不过来而已
      

  5.   

    _T( "AAA ") 是在Unicode码下的