将 String^ 转换为 wstring C++

Convert String^ to wstring C++

因为这是我的第一个 post(这是一个问题 :D )我不得不说这个网站很棒而且很有帮助。谢谢你做到了。 所以,这是我的问题......我正在尝试将 String^ 转换为 wstring,已经搜索了 3 天但找不到任何相关信息...... 我正在编写一个程序来创建文件用户 selects 的桌面快捷方式。我使用 FolderBrowserDialog^ 以便用户可以 select 路径,它 returns String^,我使用 IShellLink 创建快捷方式,它与 LPCWSTR 一起使用。所以我需要将 String^ 转换为 LPCWSTR,我不知道该怎么做,但我可以将 wstring 转换为 LPCWSTR,所以如果我可以将 String^ 转换为 wstring,那就太好了)) 谢谢。

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

非常感谢。我想post把代码贴出来让大家看到最后的结果。这是我所做的:

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);