易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
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 "
, ip);
return
0;
}
[html]
[root@www.linuxidc.com getIP]# make
gcc -c -o getIP.o getIP.c
gcc getIP.o -o main
[root@www.linuxidc.com getIP]# ./main
ip
=
192
.168.1.123
[root@www.linuxidc.com getIP]#
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图