|
发表于 2009-3-15 12:40:09
|
显示全部楼层
回复 10楼 的帖子
可以了。。
多谢了。。kinsung
但是这种方法仅仅是对中文的
准确的是:
#include <tchar.h>
#include <wchar.h>
#include <string.h>
#include <windows.h>
std::wstring MultibyteToWide(const std::string& multibyte)
{
size_t length = multibyte.length();
if (length == 0)
return std::wstring();
wchar_t * wide = new wchar_t[multibyte.length()*2+2];
if (wide == NULL)
return std::wstring();
int ret = MultiByteToWideChar(CP_ACP, 0, multibyte.c_str(), (int)multibyte.size(), wide, (int)length*2 - 1);
wide[ret] = 0;
std::wstring str = wide;
delete[] wide;
return str;
}
[ 本帖最后由 kangsite 于 2009-3-15 13:44 编辑 ] |
|