0

Visual C++ に次のような関数があります。

 DoSomething(IVector<unsigned char>^ inputBytes)

バイト配列を渡すために使用されます。そして、このメソッドでは、バイト配列パラメーター (inputBytes) を受け入れる C クラスのメソッドにアクセスする必要があります。このようなメソッドをCクラスに配置しました

 void TestFunction(unsigned char* testdata[])

しかし、それはエラーをスローします.Cのバイト配列の構文は何ですか. この bytearray を c++ から c に渡す方法。誰でも解決策を見つけるのを手伝ってくれませんか。

4

1 に答える 1

0

C 関数で char へのポインターの配列を宣言しました。私はC++/CLIを知らないので、まったくわかりませんが、正しいのはこれらの1つであると思います:

void TestFunction(unsigned char* testdata)

または多くの目的でまったく同じです (微妙な違いのみ):

void TestFunction(unsigned char testdata[])

1 つ目は、char へのポインター、または C スタイルの文字列などのいくつかの文字です。2 番目は、いくつかの文字の配列で、C では文字へのポインタとほぼ同じです。

ほとんどの場合、C配列はそれ自体のサイズを認識しないため(C文字列など)、他の方法でサイズを知ることができない限り、intパラメーターを追加してバイト数を伝える必要があります(上記のように、基本的に美化されたポインターです)。最初の 0 バイトで終了します)。

于 2013-02-11T19:15:37.620 に答える