如何实现在linux下用c取得本机的IP地址
(2008-09-04 10:30:51)
标签:
杂谈
#include #include #include #include #include #include #include
#include #include #define ETH_NAME "eth0" int main() { int sock;
struct sockaddr_in sin; struct ifreq ifr; sock = socket(AF_INET,
SOCK_DGRAM, 0); if (sock == -1) { perror("socket"); return -1; }
strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ); ifr.ifr_name[IFNAMSIZ -
1] = 0; if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) {
perror("ioctl"); return -1; } memcpy(&sin, &ifr.ifr_addr,
sizeof(sin)); fprintf(stdout, "eth0: %s\n",
inet_ntoa(sin.sin_addr)); return 0; }
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。