c++ - 接口(interface)名称(eth0 等)的等效 inet_addr C/C++、Linux

标签 c++ c linux networking

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是我要使用的接口(interface)的inet地址。

如何通过名称来引用接口(interface)?

例如,我想写这样的内容:

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

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

最佳答案

getifaddrs() 会完成这项工作。

关于c++ - 接口(interface)名称(eth0 等)的等效 inet_addr C/C++、Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9162300/

相关文章:

C++ - 使用实例初始化类成员

C 中的嵌套 for 循环可以递归地增加深度乘以用户给定的整数吗?

c++ - 是否可以在服务器 Linux 发行版上观察正在运行的 C++ 应用程序的持续 CPU 和内存使用情况?

c++ - 使用 C++ 发布到服务器时,欧洲字符切换为奇怪的字符作为响应

c++ - 手动解决此程序时我得到不同的输出

c++ - 带有数组 C++ 的静态 int

c++ - 如何快速评估零集?

C 提权(带密码)

Linux 查找和替换

c - 为什么 ntp 服务器不响应我的客户端请求?