0

我在 C++/CLI 程序中有命令行参数,用 char* argv[] 表示。我想将所有连接到 String^ 类的内容传输。

代码:

String ^masterString = "Commands=>";

for(int i=0; argv[i] != nullptr; ++i)
masterString += String(argv[i]);

但是,我发现上述内容在我使用运算符的最后一个语句中不起作用+=

  1. 这里有什么错误的用法?这里的错误是没有运算符匹配操作数。

  2. 还有其他更好的方法将内容从 char* 存储到 String^ 中吗?

4

1 回答 1

0

查看MSDN,主要是这个

#include <stdlib.h>
#include <string.h>
#include <msclr\marshal.h>

using namespace System;
using namespace msclr::interop;

int main() {
   const char* message = "Test String to Marshal";
   String^ result;
   result = marshal_as<String^>( message );
   return 0;
}

顺便说一句:我没有检查这个。刚google了一下。但是,我认为这会起作用,因为它发布在 MSDN 中。

于 2012-10-24T14:19:44.133 回答