从C ++ / CLI到C的字节数组

时间:2013-02-11 19:01:24

标签: c c++-cli visual-c++-2012

我在visual c ++中有一个像这样的函数:

 DoSomething(IVector<unsigned char>^ inputBytes)

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

中放置了这样的方法
 void TestFunction(unsigned char* testdata[])

但它会抛出一个错误.c中字节数组的语法是什么。如何将这个bytearray从c ++传递给c。任何人都可以帮我找到解决方案。

1 个答案:

答案 0 :(得分:0)

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

void TestFunction(unsigned char* testdata)

或用于许多目的完全相同(仅有细微差别):

void TestFunction(unsigned char testdata[])

首先是指向char或某些字符的指针,例如C样式字符串。第二个是一些字符数组,在C中几乎与指向char的指针相同。

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