#include<iostream>
#include<windows.h>
using namespace std;
//将ANsi字符转换为Unicode字符串
void AnsiToUnicode(PSTR pMultiByteStr) {
PWSTR pWideCharStr; //定义返回的宽字符指针
int nLenOfWideCharStr; //保存宽字符个数,注意不是字节数
//获取宽字符的个数
nLenOfWideCharStr = MultiByteToWideChar(CP_ACP, 0, pMultiByteStr, -1,
NULL, 0);
//获得宽字符指针
pWideCharStr = (PWSTR)(HeapAlloc(GetProcessHeap(), 0, nLenOfWideCharStr * sizeof(wchar_t)));
MultiByteToWideChar(CP_ACP, 0, pMultiByteStr, -1,
pWideCharStr, nLenOfWideCharStr);
//返回
wcout << pWideCharStr << endl;
//销毁内存中的字符串
HeapFree(GetProcessHeap(), 0, pWideCharStr);
}
int main() {
PSTR str = "I love you";
AnsiToUnicode(str);
system("pause");
return 0;
}