一种转换Ipv6地址的方法
原CSDN博客不再更新维护。
本文介绍了一种将char* 类型的Ipv6地址转换成BYTE(unsigned char)或者in6_addr类型的方法。
说明:使用时需要下载Ipv6++.lib和Ipv6++.dll(32位程序,64位程序可利用已有的函数自行编写)
链接: https://pan.baidu.com/s/1C-dakhZRFbYBMp-wd4dcUw 密码: 5fcz
使用方法:
// stdafx.h : 标准系统包含文件的包含文件,
// 或是经常使用但不常更改的
// 特定于项目的包含文件
// #pragma once #include "targetver.h" #include <stdio.h>
#include <tchar.h> // TODO: 在此处引用程序需要的其他头文件 // ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h" //如果需要使用in6_addr类型需要包含以下头文件
#include "WINSOCK2.H"
#include "in6addr.h" #pragma comment (lib,"Ipv6++") extern "C" int Ipv6AddrStringToByte(const char *pAddrV6Str, unsigned char *pOut); extern "C" int Ipv6AddrStringToIn6_addr(const char *pAddrV6Str, in6_addr *pOut); int main()
{
char *str = "2001:0DB8:0000:0023:0008:0800:200C:417A";
unsigned char b[] = { };
Ipv6AddrStringToByte(str, b);
for (int i = ; i < ; i++)
{
printf("%02x-", b[i]); }
printf("\n");
in6_addr *p = new in6_addr(); Ipv6AddrStringToIn6_addr(str, p);
for (int i = ; i < ; i++)
{
printf("%02x-", p->u.Byte[i]); }
delete p;
getchar();
return ;
}
函数说明:Ipv6++.lib和Ipv6.dll由函数
NTSYSAPI
LONG
NTAPI
RtlIpv6StringToAddressW (
_In_ PCWSTR S,//指向Ipv6地址的Wchar*指针
_Out_ PCWSTR *Terminator,//任意的PCWSTR的非空指针
_Out_ struct in6_addr *Addr//in6_addr类型的地址结构,在In6addr.h中定义
);
封装而来,使用方法见Main文件。
有问题可以评论联系作者交流,本文属于原创,未经允许不得转载或者用于其他用途。
一种转换Ipv6地址的方法的更多相关文章
- C# 几种读取MAC地址的方法
以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可. 1 通过IPConfig命令读取MAC地址 ///<summary> ...
- IPv6地址表示方法详解
IPv6是互联网协议的第六版:最初它在IETF的 IPng选取过程中胜出时称为互联网新一代网际协议(IPng),IPv6是被正式广泛使用的第二版互联网协议. 现有标准IPv4只支持大概40亿(4×10 ...
- cubie两种固定MAC地址的方法
1.修改 /etc/init.d/networking 配置文件 在(a)代码的后面添加上(b)这段代码 (a)case "$1" in start) :5e #MAC地址可改 2 ...
- IPv6地址分类及表示方法
对于IPv4地址,我们知道分为A类.B类.C类.组播地址和留用地址,几大类,ABC类地址中还会有不同功能的如广播地址.私有地址等类型.那么IPv6的地址是怎么分类的呢?本文就带大家初步了解一下. 先说 ...
- PHP转换IP地址到真实地址的方法详解
本篇文章是对PHP转换IP地址到真实地址的方法进行了详细的分析介绍,需要的朋友参考下 想要把IPv4地址转为真实的地址,肯定要参考IP数据库,商业的IP数据库存储在关系型数据库中,查询和使用都非常 ...
- PHP中有关IPV4 和IPV6地址转换以及其它一些常见问题
这里主要介绍一下 IPV4 / IPV6 在 PHP / MySQL 中如何转换.以及中间容易碰到的一些问题. 首先介绍两个函数: ip2long:将 IPV4 的字符串互联网协议转换成长整型数字 i ...
- 几种C#程序读取MAC地址的方法
原文:几种C#程序读取MAC地址的方法 以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可. 1 通过IPConfig命令读取MAC地 ...
- IPv6地址类型和操作
IPv6地址的号段划分和前缀表示法: IPv6拥有128位巨大的地址空间,对于那么大的空间,也不是随意的划分,而是使用按照bit位进行号段划分 地址结构图 全局路由前缀 (48位) 子网ID (16位 ...
- IPv6地址介绍
IPv6地址介绍 2008 年 04 月 10 日 1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6 ...
随机推荐
- 如何在SpriteBuilder中使用BM Font Label
开始不知道,还真有点小繁琐. mac系统上创建BM Font的工具有不少,我主要用hiero和GlyphDesigner:前者是java写的,后者是mac原生的,功能都差不多. 还有一个类似的工具bm ...
- Android Data Binding语法解析(二)
上篇我们知道了Data Binding的最简单的用法,那么Data Binding其中最为重要也是最复杂的其实就是在xml布局文件中给对应的控件进行数据绑定了,接下来就一一说明Data Binding ...
- ORACLE ERP各模块会计分录
ORACLE ERP各模块会计分录 第一章 采购模块 一.资产采购(科目来源:库存组织) 1.物料接收 借 材料采购 接收数量*采购单价 贷 应计暂估 接收数量*采购单价 2 ...
- 基于友善之臂ARM-ContexA9-ADC驱动开发
ADC,就是模数转换器,什么是模数转换器? 模数转换器,在电子技术中即是将模拟信号转换成数字信号,也称为数字量化. 当然还有一种叫DAC,就是数模转换,意思相反,即是将数字信号转换成模拟信号. 在友善 ...
- 解读Raft(三 安全性)
前言 之前的两篇文章更多的是在描述Raft算法的正常流程,没有过多的去讨论异常场景. 而实际在分布式系统中,我们更多的都是在应对网络不可用.机器故障等异常场景,所以本篇来讨论一下Raft协议的安全性, ...
- python MultiProcessing标准库使用Queue通信的注意要点
今天原本想研究下MultiProcessing标准库下的进程间通信,根据 MultiProcessing官网 给的提示,有两种方法能够来实现进程间的通信,分别是pipe和queue.因为看queue顺 ...
- IOS Dev 需要常看的网站<转>
英文系列 网站 http://Raywenderlich.com 这个不多说了吧,iOS界的百科全书.iOS By tutorial系列书从iOS7到8全买的正版别说499刀了,999刀也入手. ob ...
- 用sql获取一段时间内的数据
我把我CSDN写的 搬来博客园了.. SELECT * FROM 表名 WHERE timestampdiff(MINUTE, SYSDATE(), send_time) <=60 AND ...
- Install OpenCV 3.0 and Python 2.7+ on Ubuntu
为了防止原文消失或者被墙,转载留个底,最好还是去看原贴,因为随着版本变化,原贴是有人维护升级的 http://www.pyimagesearch.com/2015/06/22/install-Open ...
- Android Third Party Libraries and SDK's
http://javatechig.com/Android/android-third-party-libraries-sdks Over past few years, the age of mob ...