c呼叫c dll,引數是指標陣列c如何轉換

2021-08-21 02:01:49 字數 1862 閱讀 2135

1樓:

c# 裡面用 byte* 即可 ...

public unsafe static extern string download(byte* array);//要加上unsafe不安全**

指標陣列的話 byte** 可以嗎??

2樓:匿名使用者

用stringbuilder試試

c#呼叫c++dll介面時,c++介面需要的引數是結構體陣列指標,那我c#如何編寫

3樓:匿名使用者

system.runtime.interopservices;

// 定義結構體

struct bristeps

// 這裡得換成具體的dll的名字

[dllimport("***.dll")]static extern bool getbrival(out byte nval);

[dllimport("***.dll")]static extern bool setbrival(byte nval);

[dllimport("***.dll")]static extern bool getbristeps(out bristeps tsteps);

4樓:

使用intptr 代替結構體指標

5樓:

c#裡面用string接收就可以的

c#如何呼叫c++dll中引數有結構體陣列指標的函式? 20

6樓:藤原子大雄

裡面涉及到函式指標,在c#裡面用委託替代,總的**如下: delegate int pfunc(void* dst,void* src,int nsize); unsafe public struct mystruct

c#呼叫c++dll中 函式帶指標引數方法

7樓:

char* 可以先例項化一個stringbuilder然後可以傳給char*型別

關於其他的請參考msdn中的c++與c#的型別轉換對應關係如下:

c++ ---- c#

傳入的char* ----string

傳出的char* ---- stringbuilder(預分配空間)short ----short

char ---- byte

char[n] ---- fixed byte[n]結構指標 ----結構指標

函式指標 ---- 委託

裡面涉及到函式指標,在c#裡面用委託替代,總的**如下:

delegate int pfunc(void* dst,void* src,int nsize);

unsafe public struct mystruct

c#呼叫c++dll介面時,c++介面需要的引數是結構體陣列指標,那我c#如何編寫?

8樓:匿名使用者

system.runtime.interopservices;

// 定義結構體

struct bristeps

// 這裡得換成具體的dll的名字

[dllimport("***.dll")]static extern bool getbrival(out byte nval);

[dllimport("***.dll")]static extern bool setbrival(byte nval);

[dllimport("***.dll")]static extern bool getbristeps(out bristeps tsteps);

C 的指標和陣列問題,C 的指標和陣列問題

這種二維指標是不能操作這種二維陣列的,二維指標就是指標的指標,而這種情況應該用陣列指標,另外,由於二維自動陣列也是順序存放的,所以可以用一維指標傳遞二維陣列的地址。首先,你對指標沒有弄明白,最後詳細系統的瞭解一下指標的知識,這你可以參考c 語言程式設計教材的指標部分。第二,來說說本題,如果你把int...

c語言陣列與指標問題,c語言陣列與指標的問題關係請教

1,書上說的不準確,陣列應該看做一種獨立的型別,sizeof只與型別有關。詳細的可以參考這個 http 如果你弄明白了這個剩下就簡單了。2,我先說一下結論吧。按照你的要求應該這樣定義p int p 3 因為你想要的是訪問每一行的數字,所以需要p為整型指標的陣列,這樣每個元素是整型指標,可以像p 1 ...

c 陣列名和指標,C 的指標與陣列名有什麼區別?

1.str是陣列,str相當 copy於陣列首地址。bai2.mstr 指向 str,相當於du指向了陣列的第一個zhi地址,dao mstr 就輸出h。3.str只是相當於陣列首地址,但是對陣列名取地址,str 得到的是一個指向整個地址的指標,型別是char 12 所以第一行輸出hello wor...