2013-05-03 145 views
1

的Linux,可以在終端打印大量的設備信息(安裝它後)使用命令「HWINFO」。雖然這很好,但我還想利用libhd包含在hwinfo中)來獲取設備信息,設備名稱是準確的。如何獲得所有可用設備的名稱列表,然後在C/C++中打印名稱列表?C/C++ - HWInfo - libhd - 如何獲取所有可用設備的名稱列表?

+0

不是一個真正的好問題的評論,你有什麼具體還是隻希望我們閱讀libhd的文檔並粘貼一些代碼? – 2013-05-03 08:58:18

+0

@r_ahlskog:我想保持這個問題相當通用。我遇到的主要問題是數組「hd_data_t :: hd」。函數「hd_get_input_devices」接受一個指向名爲「hd_​​data_t」的結構的指針。這裏一切都很好,但我怎麼知道hd_data_t :: hd中有多少元素?我想這是一個所有設備的數組,但獲取它的元素數量讓我感到困惑。我如何獲得設備的數量? – Helixirr 2013-05-03 09:04:26

+0

現在,這是一個更好的問題,我會去看看它是如何工作,然後回來。買我的猜測是有一個參數給你的長度或函數的返回值。 – 2013-05-03 09:12:06

回答

1

從上面...如果你只是想知道從結構元素的數量,假設你的結構是hd_data_t,你可以使用

int nSize = sizeof(hd_data_t)/sizeof(hd_data_t[0]); 
+0

哦,真的那麼簡單。我會擺脫鏈接器錯誤,並可能用我正在尋找的完整答案回答我的問題,對於碰巧遇到同樣問題的人,我會這樣做。或者,如果可以的話,你可以提供一個完整的答案。無論如何,謝謝,歐文! – Helixirr 2013-05-03 09:18:32

+0

沒問題... :) – Owen 2013-05-03 09:20:46