将 CString 数组转换为 System::String
Posted
技术标签:
【中文标题】将 CString 数组转换为 System::String【英文标题】:Convert CString array to System::String 【发布时间】:2010-03-17 03:53:00 【问题描述】:我想将 CString 数组转换为托管代码,而不是将其发送到 C#。 对于普通的 CString 我这样做了,
CString menu = "MENU";
String ^ msg = gcnew String(menu);
Globals1::gwtoolbar->Add(msg);
但现在我想发送字符串数组。我不知道如何处理 CString 数组。
当我这样给出时它显示错误
CString menu[10];
String[] ^ msg = gcnew String(menu);
如何转换?
【问题讨论】:
这看起来更像 c++ 而不是 c#,不是吗? 可能我。我只在 VC++ 中进行此编码。我正在使用 VC++ 应用程序将数据从 VC++ 发送到 C# dll。 【参考方案1】:给定:
CString menu[10]
要转换为 String 的托管数组:
#DEFINE MENU_COUNT 10;
array<String^>^ clrMenu = gcnew array<String^>(MENU_COUNT);
for (int i = 0; i < MENU_COUNT; ++i)
clrMenu[i] = gcnew String(menu[i]);
【讨论】:
以上是关于将 CString 数组转换为 System::String的主要内容,如果未能解决你的问题,请参考以下文章
将 CString 数组转换为 System::String