参考:

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函数相关推荐

  1. htons/ntohs、inet_aton/inet_ntoa、inet_pton/inet_ntop函数详解

    在介绍htons等函数之前,必须先介绍网络字节序与主机字节序 网络字节序和主机字节序 网络字节顺序NBO(Network Byte Order): 按从高到低的顺序存储,在网络上使用统一的网络字节顺序 ...

  2. linux内核中使用inet_ntop,linux网络编程之inet_pton和inet_ntop函数

    Linux下这2个IP地址转换函数,可以在将IP地址在"点分十进制"和"整数"之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和 ...

  3. inet_pton和inet_ntop函数

    Linux下这2个IP地址转换函数,可以在将IP地址在"点分十进制"和"整数"之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和 ...

  4. Linux函数--inet_pton / inet_ntop

    http://blog.csdn.net/lindyl/article/details/10427925 inet_pton 和 inet_ntop Linux下这2个IP地址转换函数,可以在将IP地 ...

  5. inet_pton函数和inet_ntop函数的用法及简单实现

    http://blog.csdn.net/eagle51/article/details/53157643?utm_source=itdadao&utm_medium=referral 这两个 ...

  6. IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa

    inet_pton NAME     inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h>int ...

  7. inet_pton()和inet_ntop()函数详解

    1.把ip地址转化为用于网络传输的二进制数值 int inet_aton(const char *cp, struct in_addr *inp); inet_aton() 转换网络主机地址ip(如1 ...

  8. inet_pton、inet_ntop函数

    inet_pton和inet_ntop函数 这两个函数是随IPv6出现的函数,对于IPv4地址和IPv6地址都适用,函数中p和n分别代表表达(presentation)和数值(numeric).地址的 ...

  9. inet_pton()和inet_ntop()函数使用实例

    概述 IP格式最常见的是使用点分10进制表示,如: xx.xx.xx.xx (IPV4地址). IP地址分为两类:IPv4地址和IPv6地址. IPv4 地址用32位来表示: IPv6 地址用128位 ...

最新文章

  1. Gin 框架学习笔记(02)— 参数自动绑定到结构体
  2. RecyclerView 滑动显示返回按钮,点击返回到顶部
  3. 程序员的自我修养--链接、装载与库笔记:系统调用与API
  4. 已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在tab表中,要查的学生学号放在变量no中,查表结果放在变量english中。
  5. centos7安装mongodb3.6
  6. 这群工程师,业余时间将中文 NLP 推进了一大步
  7. 软件用户体验非常好的前端设计
  8. Flex读取txt文件里的内容(二)
  9. Rust 创始人谈 Rust 2019 和未来:社区应限制成长速度
  10. 小项目--猜年龄游戏
  11. Error creating bean with name 'rocketMQTemplate' defined in class path resource
  12. 【原创】实战padding oracle漏洞
  13. CC2541蓝牙模块间通信设置 蓝牙透传 蓝牙通信程序
  14. m序列生成方法及其fpga实现
  15. 全网通小区专家全自动做
  16. MySQL复制之gtid_purged与gtid_executed
  17. Shiro基本入门教程—叩丁狼Java培训
  18. Kubernetes K8S之存储ConfigMap详解
  19. 华为云空间联系人是不是机主_联系人丢失找回—华为云空间数据安全功能关键时刻出绝招...
  20. 配置MyBatis Plus 的乐观锁功能

热门文章

  1. Fiddler教程,比较经典全面
  2. 卡尔曼实时检测跟踪算法(论文总结)
  3. myeclipse数据库逆向hibernate教程 -
  4. 关于SVN安装目录下,没有svn.exe程序的解决
  5. MATLAB 2014a将m文件打包成jar包
  6. 各类bash访问文件记录
  7. MyBatis逆向工程--MyBatis Generator (MBG)代码生成工具的使用
  8. Linux chmod命令详解,Linux修改文件权限
  9. RTX 51 FULL源码学习(2.1)
  10. Revit 中参数化多边形的画法?