inet_ntoa()返回整型参数,开玩笑?!
来源:互联网 发布:武林外传演员现状 知乎 编辑:程序博客网 时间:2024/04/29 11:59
今天写socket程序,想在连接时打印出IP地址,于是查询得知可以使用inet_ntoa()函数
函数相关说明如下:
函数声明:char *inet_ntoa (struct in_addr);
返回点分十进制的字符串在静态内存中的指针。于是在我的代码中加入:
printf("%s join in!\n", inet_ntoa(clientSockaddr.sin_addr)); //84行
重新编译却出现了一个很奇怪的问题:
jimmy@MyPet:~$ gcc -o server server.c server.c: In function ‘main’:server.c:84:5: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat]jimmy@MyPet:~$
告诉我说inet_ntoa()返回整型参数,开玩笑?!难道是函数说明错了吗,我多方查证后它确实该返回字符串指针,可是gcc又提示我它确实返回整型。
最后悲剧地发现问题出在头文件上,必须在头文件中定义
#include<arpa/inet.h>
再编译,没有错误。
以上:
其一说明inet_ntoa()这个函数很奇特,就算没有包含对应的头文件居然也有被定义,可能是其他头文件中的内容。
其二说明读函数说明一定要仔细/全面,不能看得一知半解就开始使用,最后绕一大圈发现是使用方法不对确实大费周折了。
- inet_ntoa()返回整型参数,开玩笑?!
- 开玩笑
- 检查任意数目的整型参数并返回最大值
- inet_ntoa()返回字符串的生命周期
- 返回内部静态成员的陷阱inet_ntoa()
- inet_ntoa的返回值类型错误
- inet_ntoa报错显示返回int
- inet_ntoa()
- inet_ntoa()
- inet_ntoa()
- inet_ntoa()
- inet_ntoa
- inet_ntoa
- c++返回整型数组
- 室友开玩笑
- func 返回一个整型值
- 关于inet_ntoa返回的值是静态变量
- C/C++返回内部静态成员的陷阱(inet_ntoa)
- android:drawSelectorOnTop含义
- “弈动九州·智惠华夏”:首届全国网络智力运动会火热进行中
- boot.ini文件解密
- eclipse中java代码格式化设置方法
- 让DIV块保持在浏览器窗口中央位置
- inet_ntoa()返回整型参数,开玩笑?!
- 测试下
- java使用enum自定义下标值
- jquery去掉重复和追加
- 我做项目这些年的经验
- xhprof安装
- 一个产品就像一幅画
- Iphone NSMutableArray,NSMutableDictionary AND 动态添加按钮
- 百度java/db/jQuery/Ajax/javascript群