Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 软件开发 / C语言 / 用C语言得到Linux主机的IP地址

用C语言得到Linux主机的IP地址2013-11-16
#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
", inet_ntoa(sin.sin_addr));return 0;}