将String ^转换为wstring C ++

时间:2016-04-24 15:29:49

标签: visual-c++ c++-cli

由于这是我的第一篇文章(这是一个问题:D)我不得不说这个网站非常棒且非常有帮助。谢谢你的成功。 所以,这是我的问题......我试图将String ^转换为wstring,已经搜索了3天但却无法找到任何相关信息。 我正在编写一个程序来创建用户选择的文件的桌面快捷方式。我使用FolderBrowserDialog ^以便用户可以选择路径,并返回String ^,并使用IShellLink创建快捷方式,该方法适用于LPCWSTR。所以我需要将String ^转换为LPCWSTR,我不知道怎么做,但我可以将wstring转换为LPCWSTR,所以如果我能将String ^转换为wstring,那就太好了)) 谢谢。

2 个答案:

答案 0 :(得分:0)

std::wstring new_wstring(c_string) 其中new_wstring是新wstring的名称,c_string是String的名称: Convert CString to std::wstring

答案 1 :(得分:0)

非常感谢。我想发布代码,以便每个人都可以看到最终结果。这是我做的:

String^ str1 = "Your Text";
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str1);
CString target = str2;
Marshal::FreeHGlobal((IntPtr)str2);
CString str3 = CString(str2);
std::wstring new_wstring(str3);