C++ wstring转std::string
时间: 2024-06-15 07:08:57 浏览: 202
C ++:将MFC CString转换为std :: string
5星 · 资源好评率100%
在C++中,可以使用以下方法将wstring转换为std::string:
1. 使用std::wstring_convert:
```cpp
#include <locale>
#include <codecvt>
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
std::wstring wstr = L"Hello, 世界!";
std::string str = converter.to_bytes(wstr);
```
2. 使用std::wcstombs:
```cpp
#include <cstdlib>
std::wstring wstr = L"Hello, 世界!";
std::string str(wstr.size(), '\0');
std::wcstombs(&str[0], wstr.c_str(), str.size());
```
3. 使用Boost库:
```cpp
#include <boost/locale.hpp>
std::wstring wstr = L"Hello, 世界!";
std::string str = boost::locale::conv::utf_to_utf<char>(wstr);
```
这些方法都可以将wstring转换为std::string,选择其中一种适合你的需求即可。
阅读全文