2012-02-06 55 views
0

可能重複:
Get IP address of an interface on linux等效inet_addr爲接口名稱(eth0的,等等)的C/C++,Linux的

我有代碼,如下述:

const char* interface = "10.123.123.123"; 
struct ip_mreq mc_req;  
mc_req.imr_interface.s_addr = inet_addr(interface); 

其中接口是我想要的接口的inet地址使用。

我該如何參照的接口名稱來代替?

例如,我想寫類似:

const char* interface = "eth0"; 
struct ip_mreq mc_req;  
mc_req.imr_interface.s_addr = inet_addr(interface); // ??? 

但是,這並不工作。有沒有類似於inet_addr的函數,我可以查找引用「eth0」的inet地址?

+0

注意:SO上的搜索框是你的朋友..;) – 2012-02-06 15:20:51

回答

0

getifaddrs()將完成這項工作。