2013-03-04 59 views
0

我有一種方法,它有IntPtr作爲參數。現在我有一個字符串「EXT101」,我需要作爲參數傳遞給函數參數。以下是我的功能和我所嘗試的,但不工作。如何將字符串傳遞到C中的整數指針#

unsafe private static extern int lineDevSpecific(IntPtr hLine); 
string vline="Ext101"; 
int* hline=&vline; 

如何通過hline作爲參數?

+2

你打算實現什麼? – Philipp 2013-03-04 08:46:45

+0

@ Philipp Thnx先生爲您的迴應。我需要在函數 – vikas 2013-03-04 08:48:28

+0

作爲int *傳遞參數您可以使int *指向一個字符串? – Patashu 2013-03-04 08:48:44

回答

0

在猜測,我會說EXT101是一個預處理器定義常量。沒有簡單的方法來獲取它,因爲編譯後它不再作爲名稱存在。您需要查看頭文件以查找要鏈接的任何庫以查找值。

0

請注意,IntPtr不是指向int的指針。它是由帶符號的本地整數表示的指針。也許你想要獲得內存中該字符串的指針:

string vline="Ext101"; 
IntPtr hline = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(vline); 
lineDevSpecific(hline); 
相關問題