将CString数组转换为System :: String

时间:2010-03-17 03:53:01

标签: c# c++ mfc cstring

我想将CString数组转换为托管代码,然后将其发送到C#。 对于普通的CString,我确实喜欢这个,

CString menu = "MENU";
String ^ msg = gcnew String(menu);
Globals1::gwtoolbar->Add(msg);

但现在我想发送string.i数组,不知道如何为CString数组做。

当我这样给出时显示错误

CString menu[10];
String[] ^ msg = gcnew String(menu);

我如何转换它?

1 个答案:

答案 0 :(得分: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]);
}