from://http://hi.baidu.com/hst_jiangbo/item/2a66d8eadeacb3215b2d643a

从网络上接收的ip地址,有时候为了节省空间,用一个32位无符号整形数据表示ipv4地址。我们接收到之后,又需要转换成呢个数字和点格式的字符串来进行后续的操作。

比较勤奋点的人会自己写个函数做转换。

我属于比较懒的。不愿意做别人已经做过的事情。实际上,在linux里面,这些转换都有系统函数完成的。

SYNOPSIS
       #include <sys/socket.h>
       #include <netinet/in.h>
       #include <arpa/inet.h>

int inet_aton(const char *cp, struct in_addr *inp);

in_addr_t inet_addr(const char *cp);

in_addr_t inet_network(const char *cp);

char *inet_ntoa(struct in_addr in);

struct in_addr inet_makeaddr(int net, int host);

in_addr_t inet_lnaof(struct in_addr in);

in_addr_t inet_netof(struct in_addr in);

其中 inet_ntoa就可以完成我要的功能。简单实现过程如下:

struct in_addr   stInAddr;//必要的结构体,只要包含前面三个头文件,就不要犯愁这个结构的定义

unsigned int iTemp;       //保存整型的数据

unsigned char ipaddr[20]; //保存转换后的地址

stInAddr.s_addr=iTemp;
pIp=inet_ntoa(stInAddr);
strcpy(ipaddr,pIp);

就可以把iTemp转换成字符串保存到ipaddr中。后面的工作就可以继续下去了

ip地址转换成字符串相关推荐

  1. ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...

  2. 【面试题】将ip地址转换成整数

    题目:将ip地址转换成整数 开始用了最粗暴的方法,将四段分别转换成二进制连接起来,然后扫描一遍,累加求和.效率太低. 假设ip地址:110.111.112.113,即为A.B.C.D,转换成整数只需要 ...

  3. ip地址转换成16进制long

    <span style="font-size:18px;">public class IpUtil {/*** ip地址转换成16进制long* @param ipSt ...

  4. 二进制转换为十进制c语言编程,将二进制IP地址转换成十进制(C语言程序实现)

    将二进制IP地址转换成十进制(C语言程序实现) /* * Name: IP Address * Funcion: To convert binary numbers to decimal number ...

  5. IP地址转换(字符串ip-整数,主机,网络字节序的转换)

    #include <arpa/inet.h>// p:点分十进制的IP字符串,n:表示network,网络字节序的整数int inet_pton(int af, const char *s ...

  6. bash 将二进制转换为十进制_PowerShell把IP地址转换成二进制的方法

    IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位.8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间.有的时候,比如为了换算子网掩码,我们需要将I ...

  7. 快手,字节面试题,将IP地址转换成整数类型,再转换回来。C++代码

    题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字       ...

  8. C语言ip地址转换成十六进制,在C ++中将IP地址转换为十六进制的程序

    使用输入作为IP地址值给出,任务是将给定IP地址表示为其十六进制等效项. 什么是IP地址 IP地址或Internet协议是一个唯一编号,用于唯一描述您连接到网络的硬件.Internet是指通过网络和协 ...

  9. C语言ip地址转换成十六进制,将IP地址转换为十六进制

    有时你会看到它的格式是这样的HEX IP地址. 0xC0.0xA8.0x2A.0x48 这里是我如何做到这一点在我的头上,因为我不擅长与大的数字,因为十六进制是基于16下图是DEC左和HEX的权利. ...

最新文章

  1. Leetcode 129. 求根到叶子节点数字之和 解题思路及C++实现
  2. 百度二次上市涨0.79%,错过移动互联网热潮后牌怎么出?
  3. boost::mp11::mp_set_push_back相关用法的测试程序
  4. 【Linux】一步一步学Linux——dpkg-reconfigure命令(272)
  5. 循环所有数据库执行脚本
  6. 【C++入门】简单的日期类操作
  7. NOIP2016 复赛普及组第 1 题 买铅笔 方法一
  8. 修改的梅花雪的日期控件。。只是一些小改动
  9. 如何将wiki个人空间共享给其他人_青年居室的共享空间设计
  10. PowerDesigner数据库设计工具
  11. 技术创造新商业:云研发时代的效能挑战 | 凌云时刻
  12. MySQL安装及可视化工具使用
  13. 主流PCB画图软件的对比区别(AD、Pads、Allegro)
  14. 热核特征(heat kernel signature,HKS)简单解释(附可运行代码)
  15. Centos6、Centos7、Centos8关闭防火墙
  16. 女巫的魔法-第12届蓝桥杯Scratch省赛3真题第2题
  17. java判断经纬度是否在扇形内_地图学复习 (题) (带答案)
  18. VS中让console程序不显示(隐藏)命令行窗口
  19. 中国春节和犹太人的春节
  20. 微服务 - Hystrix 熔断器

热门文章

  1. 零基础转行IT学习什么好?
  2. 01 Java体系
  3. Android 获取app启动来源(是被谁启动的、被哪个第三方app启动?)
  4. 基于yolov8的检测分割跟踪软件系统(含Pyqt界面,附下载链接和演示视频,集成四种多目标跟踪算法,模型已训好)
  5. [电设训练]幅频特性测试仪
  6. 西邮校园网路由器教程
  7. 腾讯IM登陆时候闪退java.lang.UnsatisfiedLinkError
  8. 【任务中心】使用说明
  9. 基于PCF8591芯片的使用
  10. 计算机启动后 不显示桌面,电脑开机后不显示桌面怎么办?