c语言怎么导入ifreq这个结构体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言怎么导入ifreq这个结构体相关的知识,希望对你有一定的参考价值。
给一个函数给你参考!#include <in.h>
#include <string.h>
#include <if.h>
int main()
int i=0;
int sockfd;
struct ifconf ifconf;
unsigned char buf[512];
struct ifreq *ifreq;
//初始化ifconf
ifconf.ifc_len = 512;
ifconf.ifc_buf = buf;
if((sockfd = socket(AF_INET, SOCK_DGRAM, 0))<0)
perror("socket");
exit(1);
ioctl(sockfd, SIOCGIFCONF, &ifconf); //获取所有接口信息
//接下来一个一个的获取IP地址
ifreq = (struct ifreq*)buf;
for(i=(ifconf.ifc_len/sizeof(struct ifreq)); i>0; i--)
// if(ifreq->ifr_flags == AF_INET) //for ipv4
printf("name = [%s]\\n", ifreq->ifr_name);
printf("local addr = [%s]\\n",
inet_ntoa(((struct sockaddr_in*)&(ifreq->ifr_addr))->sin_addr));
ifreq++;
//
return 0;
参考技术A #include <net/if.h> 参考技术B #include <net/if.h>
C语言编程 结构体让多个CPP使用
定义个一结构体
让多个文件公用他 并且里面的数据通用 怎么弄?
假如有如下结构体
typedef struct A
char a[10];
A;
那在main函数所在的cpp中,这样定一个该结构体的变量:
A a;
在其他需要使用该变量的cpp文件中,加如下语句:
extern A a;
这样其他cpp文件也就可以用了。 参考技术A 用include包含 定义的结构体 参考技术B 定义的结构体的部分保存为一个.h文件 其他.cpp用include导入
以上是关于c语言怎么导入ifreq这个结构体的主要内容,如果未能解决你的问题,请参考以下文章