我使用structiwreq编写了非常简单的代码。
此外,我预计这将是一个错误。
但它是经过编译的,并能正常工作
我查看了linux/wireless.h,它具有struct iwreq的定义。
而且iwreq没有ifr_名称作为成员
有人能给我一个主意吗?
下面是简单的代码
#包括<;标准h>;
#包括<;stdlib.h>;
#包括<;字符串.h>;
#包括<;linux/wireless.h>;
内部主(空)
{
char*intf=“eth0”;;
结构iwreq-iwr;
strncpy(iwr.ifr_名称、intf、sizeof(iwr.ifr_名称));
printf(“main:intf=%s,iwr.ifr\u name=%s\n”,intf,iwr.ifr\u name);
返回0;
}
wireless.h
包括if.h
,在if.h
中您可以找到:
#定义ifr_名称ifr_ifrn.ifrn_名称/*接口名称*/
因此,代码被翻译为:
strncpy(iwr.ifr\u ifrn.ifrn\u名称、intf、sizeof(iwr.ifr\u ifrn.ifrn\u名称));