我有一種方法,它有IntPtr
作爲參數。現在我有一個字符串「EXT101」,我需要作爲參數傳遞給函數參數。以下是我的功能和我所嘗試的,但不工作。如何將字符串傳遞到C中的整數指針#
unsafe private static extern int lineDevSpecific(IntPtr hLine);
string vline="Ext101";
int* hline=&vline;
如何通過hline
作爲參數?
我有一種方法,它有IntPtr
作爲參數。現在我有一個字符串「EXT101」,我需要作爲參數傳遞給函數參數。以下是我的功能和我所嘗試的,但不工作。如何將字符串傳遞到C中的整數指針#
unsafe private static extern int lineDevSpecific(IntPtr hLine);
string vline="Ext101";
int* hline=&vline;
如何通過hline
作爲參數?
在猜測,我會說EXT101
是一個預處理器定義常量。沒有簡單的方法來獲取它,因爲編譯後它不再作爲名稱存在。您需要查看頭文件以查找要鏈接的任何庫以查找值。
請注意,IntPtr不是指向int的指針。它是由帶符號的本地整數表示的指針。也許你想要獲得內存中該字符串的指針:
string vline="Ext101";
IntPtr hline = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(vline);
lineDevSpecific(hline);
你打算實現什麼? – Philipp 2013-03-04 08:46:45
@ Philipp Thnx先生爲您的迴應。我需要在函數 – vikas 2013-03-04 08:48:28
作爲int *傳遞參數您可以使int *指向一個字符串? – Patashu 2013-03-04 08:48:44