外网的一个UCS32编码宽字符函数EncodeUcs2(const char *pSrc, unsigned char *pDst, int nSrcLength)
{
  int nDstLength;        // UNICODE宽字符数目
    WCHAR wchar[128];    // UNICODE串缓冲区
    // 字符串-->UNICODE串
    nDstLength = MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLength, wchar, 128);
    // 高低字节对调,输出
    for(int i=0; i<nDstLength; i++)
    {
        *pDst++ = wchar
 >> 8;        // 先输出高位字节
        *pDst++ = wchar & 0xff;        // 后输出低位字节
    }
    
    return nDstLength * 2;
}
觉得函数写的很正确,但是调试运行后,进行测试,发现并没有实现把字符串转换成UNICODE宽字符的功能。
例如,假设个字符串  char a[3]="ab";
调用函数encodeucs2(a,pdst,.........)后,跟踪调试,发现pdst里面为空,麻烦哪位大侠帮忙看看,是什么问题??
