#include <string>
#include <cstdlib>
std::wstring StringToWString(const std::string& src)
{
std::setlocale(LC_CTYPE, "zh_CN");
size_t const wcs_len = mbstowcs(NULL, src.c_str(), 0);
std::vector<wchar_t> tmp(wcs_len + 1);
mbstowcs(&tmp[0], src.c_str(), src.size());
std::wstring dest(tmp.begin(), tmp.end() - 1);
return dest;
}
std::string WStringToString(std::wstring const & src)
{
std::setlocale(LC_CTYPE, "");
size_t const mbs_len = wcstombs(NULL, src.c_str(), 0);
std::vector<char> tmp(mbs_len + 1);
wcstombs(&tmp[0], src.c_str(), tmp.size());
std::string dest(tmp.begin(), tmp.end() - 1);
return dest;
}