vs2015 如何把std::wstring转化为std::string字符串
时间: 2023-11-19 11:05:49 浏览: 92
C++ 中有关于Cstring的全部应用
5星 · 资源好评率100%
可以使用WideCharToMultiByte函数将std::wstring转换为std::string字符串。具体实现可以参考以下代码:
```cpp
std::string WStringToString(const std::wstring& wstr)
{
int len = WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), -1, NULL, 0, NULL, NULL);
char* buffer = new char[len + 1];
memset(buffer, '\0', sizeof(char) * (len + 1));
WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), -1, buffer, len, NULL, NULL);
std::string result(buffer);
delete[] buffer;
return result;
}
```
该函数将std::wstring转换为UTF-8编码的std::string字符串。需要注意的是,WideCharToMultiByte函数的第一个参数应该为CP_UTF8,表示使用UTF-8编码。
阅读全文