0

我在 Visual c++ 中有一个函数,如下所示:

 DoSomething(IVector<unsigned char>^ inputBytes)

用于传递字节数组。在这个方法中,我需要访问一个接受字节数组参数(inputBytes)的 C 类方法。我在 C 类中放置了这样的方法

 void TestFunction(unsigned char* testdata[])

但它会抛出一个错误。c中字节数组的语法是什么?如何将此字节数组从 c++ 传递给 c。谁能帮我找到解决方案。

4

1 回答 1

0

您在 C 函数中声明了指向 char 的指针数组。我不知道 C++/CLI,所以完全不确定,但正确的是其中之一,我认为:

void TestFunction(unsigned char* testdata)

或出于许多目的完全相等(仅细微差别):

void TestFunction(unsigned char testdata[])

首先是指向字符的指针,或者一些字符,例如 C 风格的字符串。其次是一些字符的数组,在 C 中它几乎与指向 char 的指针相同。

很可能您需要添加一个 int 参数,告诉字节数,因为 C 数组不知道自己的大小(它们基本上是美化的指针,正如我上面所说),除非您可以通过其他方式知道大小(如 C 字符串在第一个 0 字节处结束)。

于 2013-02-11T19:15:37.620 回答