是否有标准(或半标准,广泛部署)C宏用于:
格式化为00:11:22:33:44:55的MAC地址的长度,即17字节。
原始MAC的长度,即6字节。
我在不同的时间都看到过在专有头文件中定义的这些,但是我看到了很多示例/教程代码,它们使用“适当的”宏,而没有任何用于这些的东西--“6”总是硬编码的。
我在linux上。
很明显,定义自己的代码很简单,但我希望尽可能使用一个标准。
最佳答案
一些平台定义了“/usr/include/net/ethernet.h”,它执行如下操作:#define ETHER_ADDR_LEN 6
一些平台在if_ether.h
中有类似的定义(位于不同的地方,包括netinet)。
然而,我不知道任何定义“字符串格式”地址长度的东西,也不知道任何强制使用这些#define
s的标准,所以它们可能不是通用的可移植的。