Linux下获取本机局域网IP
Linux下获取本机局域网IP
Linux下获取本机局域网IP
[cpp]
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <arpa/inet.h>
- #include <sys/socket.h>
- #include <sys/ioctl.h>
- #include <net/if.h>
- int main()
- {
- int inet_sock;
- struct ifreq ifr;
- char ip[32];
- inet_sock = socket(AF_INET, SOCK_DGRAM, 0);
- strcpy(ifr.ifr_name, "eth0");
- ioctl(inet_sock, SIOCGIFADDR, &ifr);
- strcpy(ip, inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));
- printf("ip = %s\n", ip);
- return 0;
- }
- [root@www.bkjia.com getIP]# make
- gcc -c -o getIP.o getIP.c
- gcc getIP.o -o main
- [root@www.bkjia.com getIP]# ./main
- ip = 192.168.1.123
- [root@www.bkjia.com getIP]#
评论暂时关闭