当前位置: 技术问答>linux和unix
用c语言,怎样得到linux本机的IP地址?
来源: 互联网 发布时间:2015-01-06
本文导语: 用c语言,怎样得到linux本机的IP地址?使用gethostbyname()得到的是个空指针。 | 因为你没有在/etc/hosts文件中加入地址和名字关联,呵呵 用下面的函数可以直接找到你的ip地址 #include #include #in...
用c语言,怎样得到linux本机的IP地址?使用gethostbyname()得到的是个空指针。
|
因为你没有在/etc/hosts文件中加入地址和名字关联,呵呵
用下面的函数可以直接找到你的ip地址
#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)
用下面的函数可以直接找到你的ip地址
#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)