gpt4 book ai didi

c++ - 在 C++ 中使用 unicode char 支持从 TCHAR 转换为 char*

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:49 24 4
gpt4 key购买 nike

如何将 TCHAR 转换为带有 unicode 字符的 char*。我使用 follwong 代码

//BROWSE FOLDER - Opens a browse folder dialog.
char* browse_folder(void)
{
char *selected_path = NULL;

TCHAR path[MAX_PATH];
BROWSEINFO bi = { 0 };

bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_USENEWUI;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);

if (pidl != 0)
{
// get the name of the folder and put it in path
SHGetPathFromIDList(pidl, path);

//Set the current directory to path
SetCurrentDirectory(path);

// free memory used
IMalloc* imalloc = 0;
if (SUCCEEDED(SHGetMalloc(&imalloc)))
{
imalloc->Free(pidl);
imalloc->Release();
}
//selected_path = ;
USES_CONVERSION;
selected_path = T2A(path);
}
}

我在 visual studio 项目设置中启用了 unicode。我正在使用此功能浏览文件夹,当我将其转换为 char* unicode 字符时,我在路径 (TCHAR) 中获得了精确值。 unicode 字符被替换为 (????? ) 符号。

最佳答案

由于您的项目支持 unicode 字符,您应该使用 WideCharToMultiByte() 转换为 char*。尝试使用它。

关于c++ - 在 C++ 中使用 unicode char 支持从 TCHAR 转换为 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15568559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com