64位linux下inet_ntoa()返回值竟然为int,printf报段错误

为了记录,转载下来

 

inet_ntoa()在CENTOS532位版和64为机器上结果不一样。

 

32位正常打印,64位却是段错误,错在haddrp这个参数上,报错内容是说inet_ntoa的返回值是int,因此%s无法输出。

解决方法:

1. 如果用inet_ntoa()的话需要#include <arpa/inet.h> ,就正常了。

2. 使用inet_ntop()

 

原文地址: http://blog.csdn.net/ozwarld/article/details/7287498

你可能感兴趣的:(linux,centos)