我希望将结构ether_addr (ether_addr_octet)转换为整型主机字节顺序表示。有什么想法吗?
ntohl(eth->ether_addr_octet)不起作用,因为ether_addr_octet是一个字符数组。
问候
发布于 2011-02-18 18:21:13
我不确定这将是什么语义。以太是48位的,最大的ntoh*是32位的值。我想你可以创建一个64位的值来解析char数组,然后调用ntohl()两次...
发布于 2012-04-20 21:21:54
您可以将其转换为char,然后您可以执行其他您想要的操作...
char *ether_ntoa_my(const struct ether_addr *addr){
static char buf[18];
sprintf(buf, "%02x%02x:%02x%02x:%02x%02x",
addr->ether_addr_octet[0], addr->ether_addr_octet[1],
addr->ether_addr_octet[2], addr->ether_addr_octet[3],
addr->ether_addr_octet[4], addr->ether_addr_octet[5]);
return buf;
}我希望它能帮上忙
https://stackoverflow.com/questions/5039982
复制相似问题