从TCHAR转换为std :: string,除了使用WideCharToMultiByte之外?

时间:2014-10-07 08:13:03

标签: c++ stdstring tchar

我必须将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。

还有其他更好的解决方案吗?

0 个答案:

没有答案