今天编程时发现使用代码如下,程序输出如下图
printf("%s:%d -> %s:%d\n",
inet_ntoa(flow->src_ip),flow->src_port,
inet_ntoa(flow->dst_ip),flow->dst_port
);
通过gdb调试一直发现不了问题,flow的数值都对,但输出就是不对,源地址与目的地址相同。后来将代码改成如下:
printf("flow: %s:%d --->",inet_ntoa(flow->src_ip),flow->src_port);
printf("%s:%d,",inet_ntoa(flow->dst_ip),flow->dst_port);
问题解决。
但是为什么呢?暂时没去了解。