这里src_addr的类型为char [16],ptr-> ip.ip_src.s_addr用于访问我分配时在网络中流动的数据包的源地址
keys.dst_addr = ((ptr->ip.ip_dst.s_addr)&(0x0FF<<(i*8)))>>(i*8) ;
我曾经收到错误
错误:从类型'in_addr_t'中分配类型'char [16]'时出现不兼容的类型
所以我用这种形式分配它使用inet_ntoa转换源地址这是正确的方法吗?我仍然在这一行中遇到错误
keys.src_addr = inet_ntoa (ptr->ip.ip_src.s_addr);
答案 0 :(得分:0)
尝试使用:
keys.dst_addr = inet_ntoa(ptr->ip.ip_dst);
keys.src_addr = inet_ntoa(ptr->ip.ip_src);