不是说TCHAR会自动转换成ANSI/UNICODE吗?为什么不等价于WCHAR啊??请教啊!!

解决方案 »

  1.   

    只有在unicode模式下才等价,记住要
    #define UNICODE
    #define _UNICODE
      

  2.   

    我把它强制改成UNICODE模式,会不会影响我程序的移植性啊?
      

  3.   

    我现在用的方法是把TCHAR数组一位一位的COPY进WCHAR数组中.COPY没问题了.
    但有个新问题.我在用BITMAP的SAVE方法时,第一个参数它要求是CONST WCHAR*,我把转换成WCHAR的数组传进去.但总是执行时出错.
      

  4.   

    1、建议程序中字符串定义TCHAR类型,可以免去转换之苦,
    定义了_UNICODE,TCHAR定义为WCHAR,
    定义了_MBCS,TCHAR定义为char
    字符串处理函数用<tchar.h>中定义的各种对应函数,如_tcscpy取代strcpy...
    2、也可以用常用的转换函数:
    char--wchar 
    MultiByteToWideChar(CP_ACP,0,srcstr,-1,destwstr,buflen)
    wchar--char
    WideCharToMultiByte(CP_ACP,0,srcwstr,-1,deststr,buflen,NULL,NULL)