C++中inet_pton、inet_ntop函数
参考:
C++中inet_pton、inet_ntop函数_Promising丶的博客-CSDN博客_c++ inet_ntop
‘inet_pton’ was not declared in this scope_无名_四叶草的博客-CSDN博客
linux下使用g++编译cpp工程 - BattleScars - 博客园
查看当前系统的字节序 - 长虹落日 - 博客园
“字节序”是个什么鬼? - 知乎
linux编译, 代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.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%x\n", s.s_addr); // 注意得到的字节序// 反转换inet_ntop(AF_INET, (void *)&s, IPdotdec, 16);printf("inet_ntop: %s\n", IPdotdec);
}
执行结果:
[linux@ ip_address]$g++ main.cpp
[linux@ ip_address]$
[linux@ ip_address]$./a.out
Please input IP address: 1.1.1.1
inet_pton: 0x1010101
inet_ntop: 1.1.1.1
[linux@ ip_address]$./a.out
Please input IP address: 192.168.1.1
inet_pton: 0x101a8c0
inet_ntop: 192.168.1.1
[linux@ ip_address]$./a.out
Please input IP address: 2.2.2.2
inet_pton: 0x2020202
inet_ntop: 2.2.2.2
增加字节序判断:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>int isLittleEndian()
{unsigned short i=1;return (1 == *((char *)&i));
}
int printSystemEndian()
{if(isLittleEndian()){printf("Low byte order\n");//低字节序}else{printf("High byte order\n");//高字节序}
}
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%x\n", s.s_addr); // 注意得到的字节序// 反转换inet_ntop(AF_INET, (void *)&s, IPdotdec, 16);printf("inet_ntop: %s\n", IPdotdec);printSystemEndian();
}
执行结果:
[linux@ ip_address]$g++ main.cpp -o main
[linux@ ip_address]$
[linux@ ip_address]$./main
Please input IP address: 192.168.1.1
inet_pton: 0x101a8c0
inet_ntop: 192.168.1.1
Low byte order
C++中inet_pton、inet_ntop函数相关推荐
- htons/ntohs、inet_aton/inet_ntoa、inet_pton/inet_ntop函数详解
在介绍htons等函数之前,必须先介绍网络字节序与主机字节序 网络字节序和主机字节序 网络字节顺序NBO(Network Byte Order): 按从高到低的顺序存储,在网络上使用统一的网络字节顺序 ...
- linux内核中使用inet_ntop,linux网络编程之inet_pton和inet_ntop函数
Linux下这2个IP地址转换函数,可以在将IP地址在"点分十进制"和"整数"之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和 ...
- inet_pton和inet_ntop函数
Linux下这2个IP地址转换函数,可以在将IP地址在"点分十进制"和"整数"之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和 ...
- Linux函数--inet_pton / inet_ntop
http://blog.csdn.net/lindyl/article/details/10427925 inet_pton 和 inet_ntop Linux下这2个IP地址转换函数,可以在将IP地 ...
- inet_pton函数和inet_ntop函数的用法及简单实现
http://blog.csdn.net/eagle51/article/details/53157643?utm_source=itdadao&utm_medium=referral 这两个 ...
- IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa
inet_pton NAME inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h>int ...
- inet_pton()和inet_ntop()函数详解
1.把ip地址转化为用于网络传输的二进制数值 int inet_aton(const char *cp, struct in_addr *inp); inet_aton() 转换网络主机地址ip(如1 ...
- inet_pton、inet_ntop函数
inet_pton和inet_ntop函数 这两个函数是随IPv6出现的函数,对于IPv4地址和IPv6地址都适用,函数中p和n分别代表表达(presentation)和数值(numeric).地址的 ...
- inet_pton()和inet_ntop()函数使用实例
概述 IP格式最常见的是使用点分10进制表示,如: xx.xx.xx.xx (IPV4地址). IP地址分为两类:IPv4地址和IPv6地址. IPv4 地址用32位来表示: IPv6 地址用128位 ...
最新文章
- Gin 框架学习笔记(02)— 参数自动绑定到结构体
- RecyclerView 滑动显示返回按钮,点击返回到顶部
- 程序员的自我修养--链接、装载与库笔记:系统调用与API
- 已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在tab表中,要查的学生学号放在变量no中,查表结果放在变量english中。
- centos7安装mongodb3.6
- 这群工程师,业余时间将中文 NLP 推进了一大步
- 软件用户体验非常好的前端设计
- Flex读取txt文件里的内容(二)
- Rust 创始人谈 Rust 2019 和未来:社区应限制成长速度
- 小项目--猜年龄游戏
- Error creating bean with name 'rocketMQTemplate' defined in class path resource
- 【原创】实战padding oracle漏洞
- CC2541蓝牙模块间通信设置 蓝牙透传 蓝牙通信程序
- m序列生成方法及其fpga实现
- 全网通小区专家全自动做
- MySQL复制之gtid_purged与gtid_executed
- Shiro基本入门教程—叩丁狼Java培训
- Kubernetes K8S之存储ConfigMap详解
- 华为云空间联系人是不是机主_联系人丢失找回—华为云空间数据安全功能关键时刻出绝招...
- 配置MyBatis Plus 的乐观锁功能