如标题所示,我有一个简单的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
之间进行转换。您很可能实际上不需要转换字符类型。如果要使用对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样式字符串和基于char
的C样式字符串之间进行转换,则可以使用API MultiByteToWideChar
和 WideCharToMultiByte
。