LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 653|回复: 3

大家帮我看下这个流程怎么理解 ?

[复制链接]
发表于 2007-2-3 09:22:43 | 显示全部楼层 |阅读模式
...
if(inet_aton(target,to->sin_addr)){
     ...
}
else{
#if 0
...
#else
...
#endif
}

inet_aton() 将target所指的标准网络地址 转换成二进制数据格式保存在sin_addr中成功,返回非0,否则,0

这样,在else{
}中,只有 #if 部分是有效的吧 ?
发表于 2007-2-3 09:55:50 | 显示全部楼层
只有#else和#endif之间是有效的。
inet_aton(),一般来说都是成功返回0吧,LZ可以man一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-3 10:15:05 | 显示全部楼层
抱歉,代码写错了(inet_aton(target,to->sin_addr)<0
   应该为(inet_aton(target,to->sin_addr)
   现改过来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-3 10:35:22 | 显示全部楼层
It  returns 1 if the string was successfully interpreted, or 0 if the string
     is invalid.

     成功返回1,target无效,则返回0 。gamedragon兄应该是记错了吧?
     
     如果进入else部分,则应该是inet_aton()返回0的情况,那么在
     #if 0
     #else
     #endif
     中,那一部分有效的呢?这段代码是ping程序中的一个流程,我在电脑上显示,确实是
     #if 0
             显示是注释掉的
     #else
             好像是有效的
     #endif
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表