这里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);
最佳答案
尝试使用:
keys.dst_addr = inet_ntoa(ptr->ip.ip_dst);
keys.src_addr = inet_ntoa(ptr->ip.ip_src);
关于c - 从一个结构访问另一个结构的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991648/