LPWSTR转string
时间: 2023-08-07 10:55:29 浏览: 149
const char*转LPCWSTR 字符串转换
5星 · 资源好评率100%
LPWSTR是一个指向宽字符(Unicode)字符串的指针类型,它在Windows编程中经常使用。要将LPWSTR转换为string,你可以使用WideCharToMultiByte函数进行转换。下面是一个示例代码:
```cpp
#include <iostream>
#include <Windows.h>
std::string LPWSTRToString(LPWSTR lpwstr)
{
int size = WideCharToMultiByte(CP_UTF8, 0, lpwstr, -1, nullptr, 0, nullptr, nullptr);
std::string str(size, 0);
WideCharToMultiByte(CP_UTF8, 0, lpwstr, -1, &str[0], size, nullptr, nullptr);
return str;
}
int main()
{
LPWSTR lpwstr = L"Hello, World!"; // 假设lpwstr是你要转换的LPWSTR字符串
std::string str = LPWSTRToString(lpwstr);
std::cout << str << std::endl;
return 0;
}
```
这段代码中,LPWSTRToString函数接受一个LPWSTR类型的指针参数,将其转换为UTF-8编码的string类型,并返回结果。WideCharToMultiByte函数用于实现宽字符到多字节字符的转换。
阅读全文