#include <stdio.h>; #include <sys/types.h>; #include <sys/socket.h>; #include <sys/ioctl.h>; #include <netinet/in.h>; #include <net/if.h>; #include <net/if_arp.h>; #include <arpa/inet.h>; #include <errno.h>; #define ETH_NAME "eth0" int main() { int sock; struct sockaddr_in sin; struct ifreq ifr; sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock == -1) { perror("socket"); return -1; } strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ); ifr.ifr_name[IFNAMSIZ - 1] = 0; if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) { perror("ioctl"); return -1; } memcpy(&sin, &ifr.ifr_addr, sizeof(sin)); fprintf(stdout, "eth0: %s\n", inet_ntoa(sin.sin_addr)); return 0; }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索struct
, include
, return
, sock
sin
linux主机的ip地址、c语言获取ip地址、c语言修改ip地址、c语言 ip地址转换、c语言ip地址,以便于您获取更多的相关知识。
时间: 2024-11-02 16:55:47