wstring CTrainData::StoW(string & sTitle)//字符串转宽字节
{
int dwMinSize = MultiByteToWideChar(CP_ACP, 0, sTitle.c_str(), -1, NULL, 0);
wchar_t * pwcTitle = new wchar_t[dwMinSize];
if (pwcTitle == NULL)
{
cerr << "内存分配失败!" << endl;
return L"";
}
MultiByteToWideChar(CP_ACP, 0, sTitle.c_str(), -1, pwcTitle, dwMinSize);
if (dwMinSize == 0)
{
cerr << "内存分配失败!" << endl;
return L"";
}
wstring wsTitle(pwcTitle);
delete[]pwcTitle;
pwcTitle = NULL;
return wsTitle;
}
string CTrainData::WtoS(wstring & wsTitle)//宽字节转换为字符串
{
int dwMinSize = WideCharToMultiByte(CP_ACP, NULL, wsTitle.c_str(), -1, NULL, 0, NULL, NULL);
char *pMulti = new char[dwMinSize];
if (pMulti == NULL)
{
cerr << "内存分配失败!" << endl;
return "";
}
WideCharToMultiByte(CP_ACP, NULL, wsTitle.c_str(), -1, pMulti, dwMinSize, NULL, NULL);
if (dwMinSize == 0)
{
cerr << "内存分配失败!" << endl;
return "";
}
string sTitle = pMulti;
delete[]pMulti;
pMulti = NULL;
return sTitle;
}
C++字符串转宽字节、宽字节转字符串
最新推荐文章于 2024-07-23 10:33:02 发布