现在使用C++写的dll ,使用里面的函数,其中有一个参数是 char *的,不知道调用时应该使用什么样的类型啊?我使用了string ,stringbuilder,ref byte,ref byte[],ref char,都没有成功!还有没有其他的类型啊?

解决方案 »

  1.   


    [DllImport("pumchric.dll", CharSet = CharSet.Auto)] 
    public static extern int iReadPlantData(IntPtr handle,int offset,int datalen,char[] dataBuf);
      

  2.   

    调用的时候使用char[]
    如:char[] dataBuf;   
    i = Card.iReadPlantData(50, 0, 24, dataBuf); 
    textBox2.Text = new string(dataBuf);
      

  3.   

    char* 可以用byte* 或者string 如果是输出参数用StringBuilder
      

  4.   

    C++                C# 
    char*        string 
    传出的char*      StringBuilder 
    short            short 
    char              byte 
    char[n]          fixed byte[n] 
    结构指针          结构指针 
    函数指针          委托 
    结构体数组使用IntPtr