现在的位置: 首页 > 综合 > 正文

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

2014年08月27日 ⁄ 综合 ⁄ 共 236字 ⁄ 字号 评论关闭

为了记录,转载下来

 

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

抱歉!评论已关闭.