Re: [問題] 引入dll之後函式傳回參數轉換

看板C_Sharp作者 (可愛活潑小獸兒)時間16年前 (2009/09/04 23:27), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/3 (看更多)
前文吃光光... -- ◆ From: 218.163.1.11

09/01 14:23,
CommRead(0,&i,Func,Data)沒錯,所以你指標用法不熟嗎?
09/01 14:23
我又想了幾天之後 發現還是不了解這部分..所以再次提問 希望可以指點一下迷津 前面&i的部分我了解了 他在前面宣告i 然後後面在直接傳入i的記憶體位置 不過Func跟Data陣列我就不了解了 為什麼他前面函式前面傳入的是 int CommRead(int index, int* id, char* function, char* data); 為什麼呼叫的時候 是傳入陣列呢?? 我呼叫時直接用: int i; CommRead(0, &i, Func, Data); 他都會跳出 無法從 'char[]' 轉換為 'char*' 請問我該修改哪裡呢 麻煩指點一下迷津了 謝謝 -- █ █討厭~下面還沒熟~不能吃啦~ \\\ ◢◣ ~──~ █ ██ ◢◣ ▆▆▆▆ ██ ψQSWEET -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.163.10.201

09/05 13:03, , 1F
char abc[123]跟char *abc在C來講,abc都是指向某塊記憶體
09/05 13:03, 1F

09/05 13:03, , 2F
所以兩者某些情況可以混用
09/05 13:03, 2F

09/05 13:05, , 3F
如果compiler不給過的話就強制轉型
09/05 13:05, 3F

09/06 00:24, , 4F
google dllimport interop
09/06 00:24, 4F

09/06 00:35, , 5F
API的參數char*對應到C#就是string
09/06 00:35, 5F
文章代碼(AID): #1AeJ7f6d (C_Sharp)
文章代碼(AID): #1AeJ7f6d (C_Sharp)