c 编程将十六进制放入 char

标签 c hex arp

我有

    unsigned char src_mac[6];

保存具有 %02x 格式的值。例如,要在 src_mac[0] 中查找值,我会这样做:

    printf("%02x\n",src_mac[0]);

我想知道如何将值放入src_mac(我需要将保存为字符串的mac地址放入src_mac,然后将mac地址放入ether_arp结构中。

最佳答案

编辑我的答案...我读错了

无论如何,尝试使用 hhx 作为参数的 sscanf ...这意味着它将读取十六进制值并将其存储为字符(不太可能是存储的默认值)值为 int)

sscanf(string_mac, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &src_mac[5], &src_mac[4], &src_mac[3], 
                                                    &src_mac[2], &src_mac[1], &src_mac[0]);

关于c 编程将十六进制放入 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538330/

相关文章:

shell - 将本地主机的 IP 和 MAC 地址添加到 shell 脚本

java - 进程构建器参数

c++ - 将十六进制缓冲区转换为无符号整数

linux - ip变化时通过ping ip检查设备是否在线

c - gcc 去哪里链接库?

c - 从cmd行读取命令,并在C中执行它们

java - Java中字符串转字节数组再转MD5

C++ 2 字节数组计算(字符数组、字符串和整数)

c - 如何强制预处理器在 C/C++ 中使用所需的数据类型?

c - 对结构使用 malloc 时出错