IP地址转换函数
发布日期:2021-07-01 04:29:01 浏览次数:2 分类:技术文章

本文共 1036 字,大约阅读时间需要 3 分钟。

文章目录

1 IP地址转换函数

先看一下IP地址在内存中是如何存储的:

在这里插入图片描述
转换函数如下:

#include 
int inet_pton(int af, const char *src, void *dst);const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);// af 取值可选为 AF_INET 和 AF_INET6 ,即和 ipv4 和ipv6对应支持IPv4和IPv6。// 其中inet_pton和inet_ntop不仅可以转换IPv4的in_addr,还可以转换IPv6的in6_addr。因此函数接口是void *addrptr。

测试代码如下:

#include 
#include
#include
int main(void){
char ip[]="2.3.4.5"; char server_ip[64]; struct sockaddr_in server_addr; inet_pton(AF_INET, ip, &server_addr.sin_addr.s_addr); printf("s_addr : %x\n", server_addr.sin_addr.s_addr); printf("s_addr from net to host: %x\n", ntohl(server_addr.sin_addr.s_addr)); inet_ntop(AF_INET, &server_addr.sin_addr.s_addr, server_ip, 64); printf("server ip : %s\n", server_ip); printf("INADDR_ANY: %d\n", INADDR_ANY); server_addr.sin_addr.s_addr = INADDR_ANY; inet_ntop(AF_INET, &server_addr.sin_addr.s_addr, server_ip, 64); printf("INADDR_ANY ip : %s\n", server_ip); return 0;}

参考资料:

转载地址:https://muzimin.blog.csdn.net/article/details/107689324 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:socket函数介绍
下一篇:通过文件IO控制硬件设备的方法

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月25日 03时52分54秒