IP地址字符串转换成16进制例程
写程序的时候经常遇到一个输入IP地址的情况,例如输入192.168.1.123,需要转换成对应的十六进制c0 a8 01 7b,所以就自己写了一个小demo,原理也很简单,就是检测输入的字符串中的"."的位置,然后分别提取出来进行转换,下面给出一个历程:
/*
author : ez
date : 2015/7/11
describe : Convert IP string into IP numeric
*/
#include <stdlib.h>
#include <string.h>
void ip_switch_func (const char *_str,unsigned char *_addr) {
const char ip_buf[20];
memcpy(ip_buf,_str,strlen(_str));
char *p1 = ip_buf;
char *p2 = ip_buf;
unsigned char* addr = (unsigned char*) _addr;
int i = 0;
while(*p1++ != '.');
*addr = atoi(p2);
p2 = p1;*(p1-1) = 0;
*(addr+1) = atoi(p2);
while(*p1++ != '.');
p2 = p1;*(p1-1) = 0;
*(addr+2) = atoi(p2);
while(*p1++ != '.');
p2 = p1;*(p1-1) = 0;
*(addr+3) = atoi(p2);
}
int main(){
const char _str[20]="192.168.1.123";
unsigned char _addr[4];
int i;
ip_switch_func(_str,_addr);
for(i=0;i<4;i++){
printf("%02x ",_addr[i]);
}
return 0;
}
运行效果:
例子中并没有检测ip地址的合理性,当然检测起来也不难,可以参考下面的网址
https://blog.csdn.net/life_binary/article/details/81366010
IP地址字符串转换成16进制例程相关推荐
- 将字符串转换成16进制
将字符串转换成16进制 原文:将字符串转换成16进制 1.将普通字符串转换成16进制的字符串. 点击进入推荐链接 class Program {static void Main(string[] ar ...
- php 字符串转化为16进制,php将字符串转换成16进制的方法
php将字符串转换成16进制的方法 本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2 ...
- MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)
前期准备: 1.电脑中安装好boost库,我的电脑中安装在C盘根目录下,如下图所示: 2.配置好boost环境变量,如下图所示: 3.开发环境VS2015,工程为MFC应用程序 需要的头文件如下: # ...
- 将utf-8格式的汉字转换成16进制
//字符串转换成16进制 function str2hex($str){$hex = '';for($i=0,$length=mb_strlen($str); $i<$length; $i++) ...
- ip地址转换成16进制long
<span style="font-size:18px;">public class IpUtil {/*** ip地址转换成16进制long* @param ipSt ...
- # 将微博地址里面的62进制字符串转换成10进制的16位数字mid
# 将微博地址里面的62进制字符串转换成10进制的16位数字middef base62_decode(string):alphabet = "0123456789abcdefghijklmn ...
- java 16进制数组 字符串_byte数组转换成16进制字符串和字符数组的方法
byte数组转换成16进制字符串String: public class CommonUtil { /** * byte数组转换成16进制字符串 * @param src * @return */ p ...
- php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...
- php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了. 数据库脚本: -- -------------------- ...
最新文章
- Ibatisnet示例:npetshop学习一
- jquery-基础事件[下]
- sql怎么读_大白话讲解脏写、脏读、不可重复读和幻读
- 上海民警这个方法让汽车提前“助跑”,路口通行效率提10%
- php正则 网址,php使用正则表达式获取字符串中的URL
- 使用C#语言,从Excel2007中读取数据,并显示到Form中的DataGridView。
- xftp地址栏消失解决办法
- LabView---双通道示波器(内含信号发生器)
- 北大青鸟python学费_北大青鸟学费贵吗,北大青鸟学费标准_北大青鸟综合校区为您解答...
- 【技术指标】MACD详解
- 大数据和人工智能AI的联系和区别
- 04 第三章 命题逻辑的推理理论
- 名企今年给应届生的待遇
- Java实现AD域登录认证
- php开发人工智能,php可以开发人工智能吗
- CountDownLatch闭锁,join和yield的区别
- 常用键盘快捷键 键盘快捷键大全
- 泛微Ecology8.0浏览框详解
- bearer token_bearer token到底是什么?
- geany配置python_Geany中怎么配置python?
热门文章
- 【转】什么是公网安备
- 会议,如何从智能走向智慧?——四川有生发布智慧会议平台
- 第41期、基于JSP的实验室预约管理系统
- 【C++】Lambda 表达式详解
- 用酒精,湿巾,擦笔记本电脑/键盘,然后触摸板就不能用了?什么情况?
- bzoj2668 [cqoi2012]交换棋子
- python timeit.timer_python之timeit模块
- 2019多校第三场 HDU6608	Fansblog(威尔逊定理,逆元,质数间隔)
- python语法报错_Python语法总结
- iptables 禁止访问全部URL,开放部分URL