如何将 char 转换为 wchar_t*?
How to convert char to wchar_t*?
正如标题所述,我有一个简单的 char,它可以检索我要查找的文件的完整路径名,我需要将其转换为 const wchar_t。我怎样才能做到这一点?这是代码示例:
int main()
{
char filename[] = "poc.png";
char fullFilename[MAX_PATH];
GetFullPathName(filename, MAX_PATH, fullFilename, nullptr);
const wchar_t *path = fullFilename;
}
如您所见,我正在尝试获取要转换的文件名,但我找不到这样做的方法。最简单的解决方案是什么?
您的代码没有表明需要在 char
和 wchar_t
之间进行转换。很可能您实际上不需要 convert 字符类型。如果您想使用 wchar_t
友好的 GetFullPathNameW
,那么只需使用 wchar_t
而不是 char
。
int main()
{
wchar_t fullFilename[MAX_PATH];
GetFullPathNameW(L"poc.png", MAX_PATH, fullFilename, nullptr);
const wchar_t *path = fullFilename;
return 0;
}
如果您确实需要在基于 wchar_t
的 C-style 字符串和基于 char
的 C-style 字符串之间进行转换,那么您可以使用 API MultiByteToWideChar
and WideCharToMultiByte
.
正如标题所述,我有一个简单的 char,它可以检索我要查找的文件的完整路径名,我需要将其转换为 const wchar_t。我怎样才能做到这一点?这是代码示例:
int main()
{
char filename[] = "poc.png";
char fullFilename[MAX_PATH];
GetFullPathName(filename, MAX_PATH, fullFilename, nullptr);
const wchar_t *path = fullFilename;
}
如您所见,我正在尝试获取要转换的文件名,但我找不到这样做的方法。最简单的解决方案是什么?
您的代码没有表明需要在 char
和 wchar_t
之间进行转换。很可能您实际上不需要 convert 字符类型。如果您想使用 wchar_t
友好的 GetFullPathNameW
,那么只需使用 wchar_t
而不是 char
。
int main()
{
wchar_t fullFilename[MAX_PATH];
GetFullPathNameW(L"poc.png", MAX_PATH, fullFilename, nullptr);
const wchar_t *path = fullFilename;
return 0;
}
如果您确实需要在基于 wchar_t
的 C-style 字符串和基于 char
的 C-style 字符串之间进行转换,那么您可以使用 API MultiByteToWideChar
and WideCharToMultiByte
.