有,就是MultiByteToWideChar
第一个参数用CP_UTF8即可

解决方案 »

  1.   

    int nTmpLen = MultiByteToWideChar( CP_UTF8, 0, pchSrc, -1, NULL, 0 );
    WCHAR* pWTemp = new WCHAR[nTmpLen+1];
    memset( pWTemp, 0, (nTmpLen+1)*sizeof(WCHAR) );
    MultiByteToWideChar( CP_UTF8, 0, pchSrc, -1, pWTemp, nTmpLen+1 );
      

  2.   

    说明utf-8 是MBCS 与 UNICODE无关!
      

  3.   

    感谢!怎样识别一个文件是ansi还是utf-8呢?如果是unicode,好象最前面是什么FEFF,那如果是utf-8呢?最前面是什么字符?
      

  4.   

    {// if UTF8 file the 1st 3 chars are: EFh,BBh,BFh
     // if UNICODE file the 1st 2 chars are :FFh,FEh