gpt4 book ai didi

c - 摆脱 sscanf() 警告

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:45 25 4
gpt4 key购买 nike

我正在从 stdin 读取 MAC 地址(以标准十六进制表示法,例如 00:11:22:33:44:55)并将它们转换为一个 6 字节变量 hw_addr 作为小数:

u8 hw_addr[6];

scanf("%2x:%2x:%2x:%2x:%2x:%2x", &hw_addr[0], &hw_addr[1], &hw_addr[2], &hw_addr[3], &hw_addr[4], &hw_addr[5]);

唯一的问题是我收到 6 个 scanf 警告:

warning: format '%2x' expects type 'unsigned int *', but argument 3 has type 'u8 *'

.....

有什么方法可以消除这些警告而不浪费每个字段的整数?

最佳答案

根据我的scanf 联机帮助页,

 hh       Indicates that the conversion will be one of dioux or n
and the next pointer is a pointer to a char (rather than
int).

所以你想要 "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx"

关于c - 摆脱 sscanf() 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2278235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com