string wcstombs(const wstring &str)
{
size_t len=wcstombs(NULL, str.c_str(), 0)*2+1;
//size_t len=lstrlen(str)+2+1;
boost::scoped_array<char> buf(new char[len]);
setlocale(LC_ALL,""); //设置本地默认Locale
int len1=wcstombs(buf.get(), str.c_str(), len);
setlocale(LC_ALL,"C"); //默认
if(len1==static_cast<size_t>(-1))
throw runtime_error("wcstombs(): unable to convert character");
return string(buf.get(), len);
}