string 转 LPCWSTR
时间: 2023-07-10 07:40:45 浏览: 138
const char*转LPCWSTR 字符串转换
5星 · 资源好评率100%
将一个 `std::string` 转换为 `LPCWSTR`,可以使用 `MultiByteToWideChar` 函数。例如:
```cpp
std::string str = "Hello, world!";
int len = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0);
wchar_t* wstr = new wchar_t[len];
MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, wstr, len);
LPCWSTR lpwstr = wstr;
```
这里假设 `std::string` 中的字符串是 UTF-8 编码的,如果是其他编码,需要根据实际情况调整参数。另外,由于 `MultiByteToWideChar` 是通过动态分配内存来存储转换后的字符串的,因此需要手动释放内存,避免内存泄漏。
阅读全文