日期:2014-05-18  浏览次数:20858 次

c# 调用c++ DLL
c#调用c++的dll,dll中的方法传入一个char*指针,最后将数据放在一个char[]数组里面。
我在c#中调用的时候使用IntPtr类型变量aaa,
我使用的是
C# code

object obj;
obj = Marshal.PtrToStructure(aaa, typeof(String));


这里运行的时候会报错,“没有为该对象定义无参数的构造函数”。是String没有无参构造的问题。
请问我如何处理这个aaa,得到dll返回的数据?
各位大大,求指点啊,谢谢。


------解决方案--------------------
char* 用string或stringbuilder
------解决方案--------------------
探讨

char* 用string或stringbuilder

------解决方案--------------------
如果你是接收字节数组,然后转为struct,那么先用
IntPtr structPtr = Marshal.AllocHGlobal(长度);分配空间,这样才能使用IntPtr
------解决方案--------------------
同上 ~~~~~~~~