wstring 转 string
时间: 2024-03-03 22:45:45 浏览: 68
C++ Builder string相互转换
wstring 转 string 可以通过使用标准库中的转换函数来实现。具体步骤如下:
1. 包含头文件:首先需要包含 `<string>` 和 `<locale>` 头文件。
2. 设置本地化:使用 `std::locale` 类型的对象来设置本地化环境,以确保正确的字符编码转换。
3. 使用转换函数:使用 `std::wstring_convert` 类型的对象来进行转换。可以使用 `to_bytes` 函数将 wstring 转换为 string,或者使用 `from_bytes` 函数将 string 转换为 wstring。
下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
#include <locale>
int main() {
std::wstring wstr = L"Hello, wstring!";
// 设置本地化
std::locale loc("");
// 使用转换函数进行转换
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
std::string str = converter.to_bytes(wstr);
std::cout << "Converted string: " << str << std::endl;
return 0;
}
```
这样就可以将 wstring 转换为 string。同样的,如果需要将 string 转换为 wstring,可以使用 `from_bytes` 函数。
阅读全文