int数组转宽字符数组
时间: 2023-07-27 11:28:58 浏览: 94
可以使用C++11标准中的`std::wstring_convert`类来实现int数组转宽字符数组的功能。具体实现可以参考以下代码:
```c++
#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
int main() {
int arr[] = {65, 66, 67, 68, 69};
int len = sizeof(arr) / sizeof(arr[0]);
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
std::wstring wstr = L"";
for (int i = 0; i < len; i++) {
wchar_t c = (wchar_t)arr[i];
wstr += c;
}
std::string str = converter.to_bytes(wstr);
std::cout << str << std::endl;
return 0;
}
```
在上述代码中,首先定义了一个int类型的数组arr,并计算出其长度len。然后使用循环将数组中的每个元素转换成宽字符,并拼接到一个wstring对象中。接着使用`std::wstring_convert`类将wstring对象转换成UTF-8编码的字符串,最后输出转换后的字符串。
需要注意的是,上述代码中使用的是UTF-8编码。如果需要使用其他编码,可以将`std::codecvt_utf8`替换成相应的编码类型。
阅读全文