char *unicodeToUtf8(const WCHAR *zWideFilename) WCHAR *mbcsToUnicode(const char *zFilename)

来源:互联网 发布:网络推广是干什么的 编辑:程序博客网 时间:2024/05/19 18:43
char *unicodeToUtf8(const WCHAR *zWideFilename)   {   int nByte;   char *zFilename;   nByte = WideCharToMultiByte(CP_UTF8, 0, zWideFilename, -1, 0, 0, 0, 0);   zFilename = (char *)malloc(nByte);   if(zFilename == 0)   {   return 0;   }   nByte = WideCharToMultiByte(CP_UTF8, 0, zWideFilename, -1, zFilename, nByte, 0, 0);   if( nByte == 0 )   {   free(zFilename);   zFilename = 0;   }   return zFilename;   }   WCHAR *mbcsToUnicode(const char *zFilename)   {   int nByte;   WCHAR *zMbcsFilename;   int codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;   nByte = MultiByteToWideChar(codepage, 0, zFilename, -1, NULL,0)*sizeof(WCHAR);   zMbcsFilename = (WCHAR *)malloc(nByte*sizeof(zMbcsFilename[0]));   if( zMbcsFilename==0 )   {   return 0;   }   nByte = MultiByteToWideChar(codepage, 0, zFilename, -1,    zMbcsFilename, nByte);   if(nByte == 0)   {   free(zMbcsFilename);   zMbcsFilename = 0;   }   return zMbcsFilename;   }  

原创粉丝点击