当前位置: 技术问答>linux和unix
ip地址比较问题
来源: 互联网 发布时间:2017-01-17
本文导语: linux 里面写了一段代码想比较一下本机ip是不是指定的ip,代码如下,编译的时候就是不通过,提示:error: request for member `sin_addr' in something not a structure or union,出错代码是在这一行if(strcmp("192.168.1.1", inet_ntoa(sin....
linux 里面写了一段代码想比较一下本机ip是不是指定的ip,代码如下,编译的时候就是不通过,提示:error: request for member `sin_addr' in something not a structure or union,出错代码是在这一行if(strcmp("192.168.1.1", inet_ntoa(sin.sin_addr)) == 0)。 问题出在哪里啊?请指点一下 啊!!
int sock;
struct sockaddr_in sin;
struct ifreq ifr;
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock == -1)
{
perror("socket");
}
strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ);
ifr.ifr_name[IFNAMSIZ - 1] = 0;
if (ioctl(sock, SIOCGIFADDR, &ifr)
int sock;
struct sockaddr_in sin;
struct ifreq ifr;
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock == -1)
{
perror("socket");
}
strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ);
ifr.ifr_name[IFNAMSIZ - 1] = 0;
if (ioctl(sock, SIOCGIFADDR, &ifr)