linux c獲取IP地址
#include <stdio.h>include <sys/socket.h>
include <sys/ioctl.h>
include <netinet/in.h>
include <net/if.h>
include <string.h>
include <arpa/inet.h>
int main(int argc, char **argv) { int sockfd; struct ifreq ifr;
char *ifname="eth0"; strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1); sockfd = socket(AF_INET, SOCK_STREAM, 0); if(ioctl(sockfd, SIOCGIFADDR, &ifr) == -1) { printf("Error\n"); return; } struct sockaddr_in *myaddr; myaddr = (struct sockaddr_in*)&(ifr.ifr_addr); printf("IP: %s\n", inet_ntoa(myaddr->sin_addr));}</pre>
本文由用戶 nbd2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!