C++ char转wstring
时间: 2024-04-08 18:26:51 浏览: 118
在C++中,将char类型转换为wstring类型可以使用以下方法:
1. 使用std::wstring_convert进行转换:
```cpp
#include <locale>
#include <codecvt>
std::wstring charToWstring(const char* str) {
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; return converter.from_bytes(str);
}
```
2. 使用std::wstringstream进行转换:
```cpp
#include <sstream>
std::wstring charToWstring(const char* str) {
std::wstringstream wss;
wss << str;
return wss.str();
}
```
3. 使用MultiByteToWideChar函数进行转换:
```cpp
#include <Windows.h>
std::wstring charToWstring(const char* str) {
int length = MultiByteToWideChar(CP_UTF8, 0, str, -1, nullptr, 0);
wchar_t* buffer = new wchar_t[length];
MultiByteToWideChar(CP_UTF8, 0, str, -1, buffer, length);
std::wstring result(buffer);
delete[] buffer;
return result;
}
```
以上是将char类型转换为wstring类型的几种常见方法。你可以根据自己的需求选择其中一种方法来进行转换。
阅读全文