📅  最后修改于: 2023-12-03 14:39:55.198000             🧑  作者: Mango
在 Windows 平台下,使用 Visual C++ 编译器开发 Windows 应用时,经常需要将 const char*
类型的字符串转换为 LPCWSTR
类型的字符串。下面介绍几种转换方法:
#include <Windows.h>
LPCWSTR charToLPCWSTR(const char* text)
{
int size = MultiByteToWideChar(CP_UTF8, 0, text, -1, NULL, 0);
LPWSTR wstr = new WCHAR[size];
MultiByteToWideChar(CP_UTF8, 0, text, -1, wstr, size);
return wstr;
}
#include <atlbase.h>
LPCWSTR charToLPCWSTR(const char* text)
{
USES_CONVERSION;
return A2W(text);
}
#include <string>
LPCWSTR charToLPCWSTR(const char* text)
{
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
return converter.from_bytes(text).c_str();
}
以上三种方法都可以将 const char*
类型的字符串转换为 LPCWSTR
类型的字符串,开发者可以根据自己的需要选择合适的方法。