我是靠谱客的博主 负责爆米花,最近开发中收集的这篇文章主要介绍C++中inet_pton、inet_ntop函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 头文件
    windows下:
    #include <WS2tcpip.h>
    linux下:
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include<arpa/inet.h>
  • inet_pton函数
    将点分十进制串转换成网络字节序二进制值,此函数对IPv4地址和IPv6地址都能处理。
    第一个参数可以是AF_INET或AF_INET6:
    第二个参数是一个指向点分十进制串的指针:
    第三个参数是一个指向转换后的网络字节序的二进制值的指针。
  • inet_ntop函数
    和inet_pton函数正好相反,inet_ntop函数是将网络字节序二进制值转换成点分十进制串。
    第一个参数可以是AF_INET或AF_INET6:
    第二个参数是一个指向网络字节序的二进制值的指针;
    第三个参数是一个指向转换后的点分十进制串的指针;
    第四个参数是目标的大小,以免函数溢出其调用者的缓冲区。
  • 样例
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main (void)
{
	char IPdotdec[20]; //存放点分十进制IP地址
	struct in_addr s; // IPv4地址结构体
	// 输入IP地址
	printf("Please input IP address: ");
	scanf("%s", IPdotdec);
	// 转换
	inet_pton(AF_INET, IPdotdec, (void *)&s);
	printf("inet_pton: 0x%xn", s.s_addr); // 注意得到的字节序
	// 反转换
	inet_ntop(AF_INET, (void *)&s, IPdotdec, 16);
	printf("inet_ntop: %sn", IPdotdec);
}

最后

以上就是负责爆米花为你收集整理的C++中inet_pton、inet_ntop函数的全部内容,希望文章能够帮你解决C++中inet_pton、inet_ntop函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部