none
ネイティブ配列をcli::arrayに変換 RRS feed

  • 質問

  • C++/CLIから完全managedのアセンブリにある関数を呼び出すときにcli::arrayを引数で入力する必要があり、Win32APIから取得できるunsigned char配列を入力したいだが、どう型変換したらいいのかわかりません。

    cli::array<byte^>^ a;

    unsigned char[1000] b;

    このコードにある変数aに変数bの内容を入れるか、ポインタを合わせるかして、managedコードから、変数aで変数bの内容を読み取るにはどうしたらいいでしょう。



    2007年9月22日 10:29

すべての返信

  • cli::array<byte^>^ a;

    本当にこういう使い方しますか?

    byte型は値型なので普通は^をつけないで

    array<byte>^ a;

    のように使うと思いますけど。
    array<byte>^ であればpin_ptrで配列同様に配列の先頭の要素をさす一時的なポインタが取れますので、
    memcpyやらで取得や設定は可能です。

    pin_ptrで過去ログを検索してみると良いでしょう。


    追記

    unsigned char[1000] b;

    これもC/C++の書き方ではないし。

    2007年9月22日 14:14