- 论坛徽章:
- 17
|
回复 1# kyleqian3008
可以直接获取不用读配置文件- #include <string.h>
- #include <sys/socket.h>
- #include <net/if.h>
- #include <sys/ioctl.h>
- #include <netinet/in.h>
- #include <stdio.h>
- int main()
- {
- int inet_sock;
- struct ifreq ifr;
- char ip[16];
- struct sockaddr_in *sin = NULL;
- memset(&ifr,0,sizeof(struct ifreq));
- inet_sock = socket(AF_INET, SOCK_DGRAM, 0);
- strcpy(ifr.ifr_name, "eth0");
- if (ioctl(inet_sock, SIOCGIFADDR, &ifr) < 0)
- perror("ioctl");
- memset(ip,0,sizeof(ip));
- sin = (struct sockaddr_in*) &ifr.ifr_addr;
- inet_ntop(AF_INET, &sin->sin_addr.s_addr, ip, 16);
- printf("%s\n", ip);
- return 0;
- }
复制代码 |
|