我必须将TCHAR变量(使用OpenBrowseDir检索的路径)转换为std :: string。 我目前正在使用此代码。我使用的是WideCharToMultiByte。
TCHAR path[MAX_PATH];
OpenBrowseDir(path);
/*conversion from TCHAR to std::string*/
char ch[MAX_PATH];
char DefChar = ' ';
WideCharToMultiByte(CP_ACP, 0, path, -1, ch, MAX_PATH, &DefChar, NULL);
string spath(ch);
在我的项目中,TCHAR是wchar_t。
在OpenBrowseDir中,我打开浏览对话框,以便用户可以选择目录。我使用变量BROWSEINFO bi,bi.pszDisplayName的类型为TCHAR。
还有其他更好的解决方案吗?