c++におけるstringとwstringの変換

589 ワード

 #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;
}