報錯代碼: strcpy(temp, (char *)ether_ntoa(LLADDR(sdl))); 解決方法: 導入這三個頭文件即可, #include <sys/types.h> #include <sys/socket.h> #include <net/ethernet.h> 然后上面那行代碼會有一個警告:"Incompatible pointer types passing 'caddr_t' (aka 'char *') to parameter of type 'const struct ether_addr *'" ; 可以在LLADDR的前面加上(const struct ether_addr *) 也就是這樣:
strcpy(temp, (char *)ether_ntoa((const struct ether_addr *)LLADDR(sdl)));
這樣就沒有警告了。