相当于接口名称(eth0等)C/C++、Linux的inet_addr

Equivalent inet_addr for interface name (eth0, etc.) C/C++, Linux

本文关键字:Linux C++ inet addr 接口 eth0 相当于      更新时间:2023-10-16

可能重复:
获取linux 上接口的IP地址

我有如下代码:

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);  // ???

但这行不通。有没有类似于inet_addr的函数,我可以在其中查找引用"eth0"的inet地址?

getifaddrs()将完成此项工作。