C#中调用C++写的dll,参数类型为char*[]怎么处理啊
C#中调用C++写的dll的时候,传入参数类型为char* path[],即一个char*的数组,请问在C#中这个类型应该怎么写,之前我写过char*类型的,对应的C#中的类型是StringBuilder,那么如果是char*[]类型的话,可以用StringBuilder吗 我用了但是不对,求高手指点啊~~~
--------------------编程问答--------------------
不需要针对类型做太多要求,指针其实就是C#中的引用类型,他需要你给他一个存储数组的数组的地址,你完全可以用一个list<>来存储需要的数组,list<string[]>,然后将list的地址作为参数传进去就应该可以了
--------------------编程问答--------------------
呃,你还可以试试创建一个string[],估计可行
--------------------编程问答--------------------
string[]
--------------------编程问答--------------------
百度搜下DLLimport,好像有个转换表。
--------------------编程问答--------------------
http://www.cnblogs.com/xumingming/archive/2008/10/10/1308248.html
--------------------编程问答--------------------
这样使用:
C++:
int TestArrayOfStrings(char* ppStrArray[], int size);
C#:
[ DllImport( "test.dll" )]
public static extern int TestArrayOfStrings( [In, Out] String[] ppStrArray, int size );
使用:
String[] strArray = { "one", "two", "three", "four", "five" };
int lenSum = LibWrap.TestArrayOfStrings( strArray, strArray.Length );
--------------------编程问答--------------------
应该string[]就行
补充:.NET技术 , C#