社区
网络及通讯开发
帖子详情
inet_ntoa()如何给参数赋值
lengda
2003-09-15 10:26:51
inet_ntoa()的入口参数要求是struct in_addr,但struct in_addr中又是联合体,我不知道如何赋值,请高手指教。
...全文
81
3
打赏
收藏
inet_ntoa()如何给参数赋值
inet_ntoa()的入口参数要求是struct in_addr,但struct in_addr中又是联合体,我不知道如何赋值,请高手指教。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lengda
2003-09-17
打赏
举报
回复
谢谢。
jspring
2003-09-16
打赏
举报
回复
#pragma comment(lib, "Ws2_32.lib")
struct in_addr in;
in.S_un.S_un_b.s_b1 = 192;
in.S_un.S_un_b.s_b2 = 168;
in.S_un.S_un_b.s_b3 = 0;
in.S_un.S_un_b.s_b4 = 1;
char szip[16];
strcpy(szip, inet_ntoa(in));
jspring
2003-09-16
打赏
举报
回复
struct in_addr实际上是一个4个字节的整数
如"192.168.0.1"转化为struct in_addr结构
struct in_addr in;
in.s_b1 = 192;
in.s_b2 = 168;
in.s_b3 = 0;
in.s_b4 = 1;
char szip[16];
strcpy(szip, inet_ntoa(in));
IP地址转换函数
inet
_addr(),
inet
_aton(),
inet
_
ntoa
(),
inet
_pton()
inet
_
ntoa
函数转换网络字节排序的地址为标准的ASCII以点分开的地址,该函数返回指向点分开的字符串地址(如192.168.1.10)的指针,该字符串的空间为静态分配的,这意味着在第二次调用该函数时,上一次调用将会被重写(复盖),所以如果需要保存该串最后复制出来自己管理!(2)第一个函数尝试转换由strptr指针所指向的字符串,并通过addrptr指针存放二进制结果,若成功则返回值为1,否则如果所指定的family而言输入字符串不是有效的表达式格式,那么返回值为0.
参数
cp:传入的ip地址;
sockaddr和sockaddr_in结构体、以及
inet
_
ntoa
()和
inet
_addr()函数的用法
在网络通讯程序中会用到sockaddr和sockaddr_in这两个结构体,下面对这两个结构体进行一下分析。 一、 sockaddr和sockaddr_in struct sockaddr 这个结构体是在<<sys/socket.h>>头文件中定义的。结构体的定义如下: struct sockaddr { sa_family_t sin_fam...
IP地址转换函数
inet
_addr(),
inet
_aton(),
inet
_
ntoa
(),int_pton()
函数原型1:in_addr_t
inet
_addr(constchar*cp);
参数
cp:传入的ip地址 示例: intip_addr; ip_addr=
inet
_addr("192.168.2.125");//设置ip点分十进制地址的地址 if(ip_addr==INADDR_NONE)//返回值错误判断 ...
inet
_
ntoa
的返回值类型错误
inet
_
ntoa
()在CENTOS532位版和64为机器上结果不一样。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章