由于我自己的代码都是使用通用支持的函数,比如_tcscpy, TCHAR *.........那我在什么时候还需要使用MultiByteToWideChar吗,如果只是在接受外部输入数据的时候,我用TCHAR是不是就可以了

解决方案 »

  1.   

    主要用在将Unicode字符串转换成MBCS的时候,配合WideCharToMultiByte业可以实现代码页的转换。
      

  2.   

    类似的代码:
     #ifndef UNICODE
        MultiByteToWideChar(CP_ACP, 0, szFile, -1, wFile, MAX_PATH);
    #else
        wcscpy(wFile, szFile);
    #endif
      

  3.   

    UNICODE是用两个字节表示一个‘字’的概念。
    在使用UNICODE的时候用到你的函数。
      

  4.   

    to taianmonkey() :
       你这里szFile原来是什么类型,如果我是TCHAR*, 还有用MultiByteToWideChar的必要吗
      

  5.   

    tchar是宏定义,只能源代码兼容,在编译成二进制文件时,只能是char和我wchar之一,调用时就要转换了,除非你象WindowsAPI一样,提供两种接口A和W,当然有些WindowsAPI只有A格式,而有些只有W格式,这时你也要根据当前的格式进行转换了。