c++中string与wstring的转化

 #include 
std::wstring StringToWstring(const std::string &str)
{
	size_t len = str.size() * 2;// 预留字节数
	setlocale(LC_CTYPE, "");     //必须调用此函数
	wchar_t* p = new wchar_t[len];// 申请一段内存存放转换后的字符串
	mbstowcs(p, str.c_str(), len);// 转换
	std::wstring wstr(p);
	delete[] p;// 释放申请的内存
	return wstr;
}
std::string WstringToString(const std::wstring &wstr)
{
	size_t len = wstr.size() * 4;
	setlocale(LC_CTYPE, "");
	char* p = new char[len];
	wcstombs(p, wstr.c_str(), len);
	std::string str(p);
	delete[] p;
	return str;
}

 

你可能感兴趣的:(c++)