如何将ifr_hwaddr.sa_数据获取到char

如何将ifr_hwaddr.sa_数据获取到char,c,C,如何获取此信息: printf(" %02x:%02x:%02x:%02x:%02x:%02x", (unsigned char)item->ifr_hwaddr.sa_data[0], (unsigned char)item->ifr_hwaddr.sa_data[1], (unsigned char)item->ifr_hwaddr.sa_data[2], (unsigned char)item->ifr_hwaddr.sa_data[3], (unsigned ch

如何获取此信息:

printf(" %02x:%02x:%02x:%02x:%02x:%02x",
(unsigned char)item->ifr_hwaddr.sa_data[0],
(unsigned char)item->ifr_hwaddr.sa_data[1],
(unsigned char)item->ifr_hwaddr.sa_data[2],
(unsigned char)item->ifr_hwaddr.sa_data[3],
(unsigned char)item->ifr_hwaddr.sa_data[4],
(unsigned char)item->ifr_hwaddr.sa_data[5]);
输入此变量(存储在变量中,而不是打印):

谢谢使用

#include <stdio.h>

int main(int argc, char **argv)
{
    char mac[19]; /* one extra for terminating '\0'; 
                     You may want to make it a little larger
                     still, just to be sure. */

    sprintf(mac, " %02x:%02x:%02x:%02x:%02x:%02x", 
        (unsigned char)item->ifr_hwaddr.sa_data[0],
        (unsigned char)item->ifr_hwaddr.sa_data[1],
        (unsigned char)item->ifr_hwaddr.sa_data[2],
        (unsigned char)item->ifr_hwaddr.sa_data[3],
        (unsigned char)item->ifr_hwaddr.sa_data[4],
        (unsigned char)item->ifr_hwaddr.sa_data[5]);

    printf("%s\n", mac); // string was "printed" to mac array!

    return 0;
}
#包括
int main(int argc,字符**argv)
{
char mac[19];/*额外一个用于终止'\0';
你可能想把它放大一点
尽管如此,只是为了确定*/
sprintf(mac,“%02x:%02x:%02x:%02x:%02x:%02x:%02x”,
(未签名字符)项->ifr\u hwaddr.sa\u数据[0],
(未签名字符)项->ifr\u hwaddr.sa\u数据[1],
(未签名字符)项->ifr\u hwaddr.sa\u数据[2],
(未签名字符)项->ifr\u hwaddr.sa\u数据[3],
(未签名字符)项->ifr\u hwaddr.sa\u数据[4],
(未签名字符)项->ifr_hwaddr.sa_数据[5];
printf(“%s\n”,mac);//字符串已“打印”到mac数组!
返回0;
}

我需要将其保存到变量中,而不是打印它的printf(以s开头)将格式化的输出写入char数组,而不是stdout。看看stdio.h。您将找到printf、fprintf(将格式化字符串写入文件)和sprintf(将格式化字符串写入字符串)。试试我贴的代码。
#include <stdio.h>

int main(int argc, char **argv)
{
    char mac[19]; /* one extra for terminating '\0'; 
                     You may want to make it a little larger
                     still, just to be sure. */

    sprintf(mac, " %02x:%02x:%02x:%02x:%02x:%02x", 
        (unsigned char)item->ifr_hwaddr.sa_data[0],
        (unsigned char)item->ifr_hwaddr.sa_data[1],
        (unsigned char)item->ifr_hwaddr.sa_data[2],
        (unsigned char)item->ifr_hwaddr.sa_data[3],
        (unsigned char)item->ifr_hwaddr.sa_data[4],
        (unsigned char)item->ifr_hwaddr.sa_data[5]);

    printf("%s\n", mac); // string was "printed" to mac array!

    return 0;
}