1 / 3
文档名称:

Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结.pdf

格式:pdf   页数:3页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结.pdf

上传人:翩仙妙玉 2012/9/16 文件大小:0 KB

下载得到文件列表

Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结.pdf

文档介绍

文档介绍:IT-Homer 专栏
成功是优点的发挥,失败是缺点的积累! 不为失败找理由,只为成功找
方法……
_addr、inet_aton、inet_pton等函数小结
分类: NetWork Linux 2010-12-27 15:17 2819人阅读评论(0) 收藏举报
 
知识背景:
,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。
,是3524887733,这个就是整数形式的IP地址。英语叫做binary data。(其
实binary是二进制的意思)
详细介绍,请参考: 网络字节序与主机字节序的转换 
 
 
问题所在:
如何在字符串形式的IP和整数形式的IP之间转换呢?
 
 
转换函数:
int inet_aton(const char *cp, struct in_addr *inp);
in_addr_t inet_addr(const char *cp);
in_addr_t work(const char *cp);
int inet_pton(int af, const char *src, void *dst);
const char *inet_ntop(int af, const void *src, char *dst, t);
 
参考://output/html/multipage/
=============================================================
IPv4:
 
IP字符串——》网络字节流
inet_addr、work、inet_aton
 
程序代码:
#include <> #include <> #include <> #include <> #include
</> #include <sys/> #include <sys/> int main() { char ip[] =
""; long r1, r2, r3; //long struct in_addr addr; r1 = inet_addr(ip); //返回网络字节序
if(-1 == r1){ printf("inet_addr return -1/n"); }else{ printf("inet_addr ip: %ld/n", r1); } r2 =
work(ip); //返回主机字节序 if(-1 == r2){ printf("inet_addr return -1/n"); }else{
printf("work ip: %ld/n", r2); printf("work ip: %ld/n", ntohl(r2)); //ntohl: 主机字节
1
printf("work ip: %ld/n", r2); p