缓冲区中u_字符[6]中的MAC地址。ifr_hwaddr.sa_数据[s]
我需要从缓冲区获取u_char[6]格式的路由器MAC地址。ifr结构给出的ifr_hwaddr.sa_数据[s]格式。也许这就是您想要的缓冲区中u_字符[6]中的MAC地址。ifr_hwaddr.sa_数据[s],c,linux,ethernet,mac-address,C,Linux,Ethernet,Mac Address,我需要从缓冲区获取u_char[6]格式的路由器MAC地址。ifr结构给出的ifr_hwaddr.sa_数据[s]格式。也许这就是您想要的 for( s = 0; s < 5; s++ ) { printf("%.2X:", (unsigned char)buffer.ifr_hwaddr.sa_data[s]); } (s=0;s
for( s = 0; s < 5; s++ )
{
printf("%.2X:", (unsigned char)buffer.ifr_hwaddr.sa_data[s]);
}
(s=0;s<5;s++)的
{
printf(“%.2X:”,(无符号字符)缓冲区.ifr_hwaddr.sa_数据];
}
使用命令cat/sys/class/net/ethX/address
,其中X=0,1,2
FILE * output= popen("cat /sys/class/net/ethX/address");
if(output)
{
//Write your code here
pclose(output);
}
您可能想要将6字节整数Macaddress转换为6字节字符字符串,您还必须注意网络字节顺序。so
buffer.ifr\u hwaddr.sa\u data[s]
您的字符缓冲区是否正确?对于printf()
1字节,转换说明符的前缀应该是适当的长度修饰符“hh”
,成为“hhX”
。