18,356
社区成员
发帖
与我相关
我的任务
分享
typedef struct __WSABUF
{ u_long len;
char FAR* buf;
} WSABUF, *LPWSABUF;
// Convert ANSI to Unicode
_tsetlocale(LC_ALL, _T(""));
//第一步取得需要转换的字符的长度
unsigned long lLen = wsabuf.len;
//第二步取得转换成WCHAR,所需要的字符数
int cch = MultiByteToWideChar(CP_ACP,0, wsabuf.buf, lLen, NULL, 0);
//第三步定义缓存并清零
WCHAR * wszBuffer = new WCHAR[cch + 1];
ZeroMemory((char *)wszBuffer, (cch+1)*sizeof(wszBuffer[0]));
//第四步转换
MultiByteToWideChar( CP_ACP, 0, wsabuf.buf, lLen + 1, wszBuffer, cch);
//输出
TRACE(L"%s\n", wszBuffer);
//释放
delete [] wszBuffer;