0

char* argv[] で示される C++/CLI プログラムに commandLine 引数があります。連結されたすべてのコンテンツを 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;
}

ところで:私はこれをチェックしませんでした。グーグルで検索しただけです。しかし、MSDNに投稿されているので、これはうまくいくと思います。

于 2012-10-24T14:19:44.133 に答える