关于ansi 转换 utf-16,该怎么解决

关于ansi 转换 utf-16
从文件读取 字符串 ansi 转换成 UTF-16然后保存下来。请问如何做

------解决方案--------------------
C/C++ code

    // ansi to unicode
    char* szAnsi = "abcd1234你我他";

    wchar_t* wszString;
    int wcsLen;

    //预转换,得到所需空间的大小
    wcsLen = MultiByteToWideChar(CP_ACP, 0, szAnsi, strlen(szAnsi), 0, 0);
    //分配空间要给'\0'留个空间,MultiByteToWideChar不会给'\0'空间
    wszString = (wchar_t*)malloc=(wcsLen + 1);
    //转换
    MultiByteToWideChar(CP_ACP, 0, szAnsi, strlen(szAnsi), wszString, wcsLen);
    //最后加上'\0'
    wszString[wcsLen] = '\0';