インタフェース名(eth0など)に対応するinet_addr C/C ++、Linux

Possible Duplicate:
Get IP address of an interface on linux

私は次のようなコードを持っています:

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

interface は、使用したいインターフェイスのinetアドレスです。

代わりに名前でインタフェースを参照するにはどうすればよいですか?

たとえば、次のような記述をしたいと思います。

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

しかし、それは動作しません。 "eth0"を参照するinetアドレスを検索できるinet_addrに似た関数がありますか?

0
注:SOの検索ボックスはあなたの友人です..;)
追加された 著者 Karoly Horvath,

1 答え

getifaddrs() will do the job.

0
追加された