等价的inet_addr用于接口名称(eth0等)C / C ++,Linux

时间:2012-02-06 15:16:38

标签: c++ c linux networking

  

可能重复:
  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地址。

如何通过 name 来引用界面?

例如,我想写一些类似的东西:

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

但这不起作用。是否有一个类似于inet_addr的函数,我可以在其中查找引用“eth0”的inet地址?

1 个答案:

答案 0 :(得分:0)

getifaddrs()将完成这项工作。