尝试这个:
#include <stdio.h>#include <unistd.h>#include <string.h> #include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <netinet/in.h>#include <net/if.h>#include <arpa/inet.h>intmain(){ int fd; struct ifreq ifr; fd = socket(AF_INET, SOCK_DGRAM, 0); ifr.ifr_addr.sa_family = AF_INET; strncpy(ifr.ifr_name, "eth0", IFNAMSIZ-1); ioctl(fd, SIOCGIFADDR, &ifr); close(fd); printf("%sn", inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr)); return 0;}代码示例是从这里获取的。



