歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux下獲取本機局域網IP

Linux下獲取本機局域網IP

日期:2017/3/1 10:30:45   编辑:Linux編程

Linux下獲取本機局域網IP

[cpp]

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <arpa/inet.h>
  5. #include <sys/socket.h>
  6. #include <sys/ioctl.h>
  7. #include <net/if.h>
  8. int main()
  9. {
  10. int inet_sock;
  11. struct ifreq ifr;
  12. char ip[32];
  13. inet_sock = socket(AF_INET, SOCK_DGRAM, 0);
  14. strcpy(ifr.ifr_name, "eth0");
  15. ioctl(inet_sock, SIOCGIFADDR, &ifr);
  16. strcpy(ip, inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));
  17. printf("ip = %s\n", ip);
  18. return 0;
  19. }
[html]
  1. [[email protected] getIP]# make
  2. gcc -c -o getIP.o getIP.c
  3. gcc getIP.o -o main
  4. [[email protected] getIP]# ./main
  5. ip = 192.168.1.123
  6. [[email protected] getIP]#
Copyright © Linux教程網 All Rights Reserved