c - 从一个结构访问另一个结构的数据

标签 c

这里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/

相关文章:

c - 使用 calloc 分配二维数组

c++ - 为什么linux中有多个fcntl.h?

c - nm 命令输出中的奇怪符号名称

c - fuse中如何正确添加线程

c - 在没有锁的情况下在 x86 机器上读/写一个 int

c - 当我们将指针传递给参数时,getopt 函数调用不起作用。解析字符串后获取指针

我可以在不使用文件流的情况下编写这段代码吗

c - 为什么在 printf() 调用中会漏掉一个逗号?

algorithm - 插入优先队列。 MIT c编程开放课件

c - 在哪里释放C代码