gpt4 book ai didi

在C中将字符串MAC地址转换为char[6]

转载 作者:行者123 更新时间:2023-11-30 18:27:50 24 4
gpt4 key购买 nike

char mac[] = "00:13:a9:1f:b0:88";
int a[6];
sscanf(mac, "%x:%x:%x:%x:%x:%x", &a[0], &a[1], &a[2], &a[3], &a[4],
&a[5]);

总的来说,它有效。但是当 mac 包含类似“0(x)”的内容时,它就会中断

例如

char mac[] = "01:13:a9:1f:b0:88"; // 01 became 00 in above code 

有什么技巧吗?

<小时/>

这是由于程序其他部分引起的内存问题

**留在这里寻找灵感**

最佳答案

sscanf 知道忽略前导零。

我已经在 Windows 上使用 Visual Studio 尝试过你的代码,在 Linux 上使用 gcc 尝试过,效果很好。我建议您再次检查结果,因为您的程序似乎运行良好。

如果您希望“a”数组的打印方式与输入相同,请使用带有 %02x 修饰符的 printf

关于在C中将字符串MAC地址转换为char[6],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52606317/

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