c - 如何获取 ifr_hwaddr.sa_data 到 char

标签 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 char)item->ifr_hwaddr.sa_data[4],
(unsigned char)item->ifr_hwaddr.sa_data[5]);

进入这个(存储在变量中,不打印它):

char mac[18];

谢谢

最佳答案

使用

#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;
}

关于c - 如何获取 ifr_hwaddr.sa_data 到 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6791923/

相关文章:

c - STM32F769I-DISCO 上的 1s 定时器

内存中 char 指针的 C 字节

在c中将24bpp bmp彩色图像转换为8bpp灰度bmp图像

c-copy_to_user : how to read a struct type value of kernel space in the user space?

无法在新文本框中显示文本输入

c++ - 写入uart串行端口并接收响应,使用非阻塞模式时会丢失字节

c - HDF5 C代码生成

c - 如何在 Postgres 的 C 语言函数中返回位(n)或位变化(n)字段?

c++ - 在动态加载的 dll 中查找名称错误的函数

c - 对 2D 阵列的一部分进行无限循环