wchar_t 转string
时间: 2023-12-12 18:51:47 浏览: 80
可以使用C++的标准库函数`std::wstring_convert`将`wchar_t`转换为`std::string`。具体步骤如下:
1. 包含头文件`<locale>`和`<codecvt>`。
2. 创建`std::wstring`类型的对象,存储`wchar_t`类型数据。
3. 创建`std::wstring_convert`类型的对象,用于将`std::wstring`类型数据转换为`std::string`类型数据。
4. 调用`std::wstring_convert`对象的`to_bytes()`函数,将`std::wstring`类型数据转换为`std::string`类型数据。
下面是一个示例代码:
```c++
#include <iostream>
#include <locale>
#include <codecvt>
#include <string>
int main() {
// 定义wchar_t类型的字符串
wchar_t wc_str[] = L"你好,世界!";
// 创建std::wstring类型的对象
std::wstring w_str(wc_str);
// 创建std::wstring_convert类型的对象
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
// 调用to_bytes()函数,将std::wstring类型数据转换为std::string类型数据
std::string str = conv.to_bytes(w_str);
// 输出结果
std::cout << str << std::endl;
return 0;
}
```
输出结果为:
```
你好,世界!
```
阅读全文