c语言CString转数字函数,CString与16进制的CByteArray之间相互转化
//将单个字符转为相应的16进制数,否则返回16
char Hex2Char(char ch)
{
if((ch>='0')&&(ch<='9'))
return ch-0x30;
else if((ch>='A')&&(ch<='F'))
return ch-'A'+10;
else if((ch>='a')&&(ch<='f'))
return ch-'a'+10;
else return 16;
}
//将CS中的字符串转为存储16进制数的CByteArray类型Hexs
//按照字符串中16进制字符进行转换,忽略所有非16进制字符
void CS2CB(CString &CS,CByteArray &Hexs)
{
INT_PTR len = CS.GetLength();
INT_PTR Len(0);//最终字节长度
Hexs.SetSize(len/2);
Hexs.RemoveAll();
BYTE HexH,HexL;//十六位的高低字节
//BYTE HexD(0);//十六进制数据
for( int k=0; k
{
if((HexH=Hex2Char(CS.GetAt(k)))<16)//找到一个字符为16进制数字为高位
{
do
{
k++;
}while(k
if(k
{
Hexs.Add(HexH*16+HexL);
Len++;
}
else
{
//找不到低位,则只有低位(高位变低位)
Hexs.Add(HexH);
Len++;
}
}
}
Hexs.SetSize(Len);
}
//将存储在CByteArray中的16进制数组,转化为表示16进制数的CString类型字符串
void CB2CS( CByteArray &Hex,CString &dst)
{
dst.Empty();
int k(0),len(Hex.GetSize());
for(;;)
{
dst.AppendFormat(_T("%x"),Hex.GetAt(k));
if(++k
dst.Append(_T("-"));
else
break;
}
}
c语言CString转数字函数,CString与16进制的CByteArray之间相互转化相关推荐
- C语言/C++中怎么表示8进制数或者16进制数?(8进制数用数字0开头,16进制数用0x或者0X开头)
在C语言里,整数有三种表示形式:十进制,八进制,十六进制. 其中以数字0开头,由0到7组成的数是八进制. 以0X或0x(0x中是数字0,不是大写字母O)开头,由0-9,A-F或a~f 组成是十六进制. ...
- c语言中如何将字符串转成16进制,用c语言写一个函数把十进制转换成十六进制,该如何处理...
用c语言写一个函数把十进制转换成十六进制 用c语言写一个函数把十进制转换成十六进制 网上找到一些,感觉有占乱 分享到: ------解决方案-------------------- #include ...
- c语言 printf 输出格式控制 %#x 带0x 16进制的输出
#include<stdio.h> #include<stdlib.h>int main(void) {#if 0 printf("这里是注释"); #en ...
- 计算机进制各用什么字母表示方法,16进制字母大还是数字大 16进制中的字母代表什么...
F字母使用大写这六个字母来分别表示16进制多位数字母需要换算,E,范围从00000000-111111表示0到2一位16进制数用二进制表示是xxxx最多只表示到15即对应16进制的F.作业,但这种混合 ...
- 16进制、Cstring、char*类型转换
//char*转16进制 DWORD HEXS(char *decString) {DWORD hexValue=0;DWORD sl=0;BOOL isWhile=FALSE;DWORD idx=0 ...
- c语言16进制数字母对应,写一个函数,输入一个十六进制数,输出相应的十进制数(附C程序 和 更加简单的实现方法)...
写一个函数,输入一个十六进制数,输出相应的十进制数.基本思路是16进制数以字符串输入,然后经过转变为相应的10进制数,主要处理A~F六个字母对应的值,相应的程序如下: #include #includ ...
- C语言之10/16进制字符串和数字转换(四)
#include <stdio.h> #include <stdlib.h>int main() {//1.将10进制和16进制字符串转换成数字char a[] = " ...
- C语言sscanf()正则表达式注意及截取字符串 提取数字 转16进制字节数组 超简单
截取字符串 #include <stdio.h> int main(int argc,char** argv) {const char* in = "a1b2c3ABCdef 1 ...
- vc 文字转换到机内码,输入汉字和数字, 输出一串16进制码(数字-〉ASII码,汉字—〉国标码)...
// 可以用,此程序实现的是是文字转换到机内码.机内码=国标码+8080H,不过学习了.//此程序是利用汉字在机器内输出就是机内码的原理,直接保存的,其实挺简单.//输入一串汉字和数字的混合字符, 经 ...
最新文章
- 处理器拦截器(HandlerInterceptor)详解
- 大家来说说咱们IT人订阅什么周刊和月刊比较好
- 127. Word Ladder
- python-封装pymysql的思路步骤
- Mac 下使用 homebrew 切换不同版本 php
- Angular2 依赖注入
- UVA12416 Excessive Space Remover【对数+字符流】
- js系列教程4-函数、函数参数全解
- 文件与base64的互相转换操作
- 将OSM地图转化成OpenDRIVE
- php7isapi,Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程
- 女研究生做“思维导图”与男友吵架!网友:吵架届的“内卷之王”....
- 十九种Elasticsearch字符串搜索方式终极介绍
- matlab凑数求和,凑数求和算法 C语言问题 C语言求和算法
- 【C语言笔记】【宏定义系列】 判断是否2的n次幂对齐
- IE无法打开网页的解决方法
- 内核下断链隐藏进程(兼容多版本Windows系统,非硬编码)
- PROE5.0飞利浦耳机结构设计教程
- 什么是Pid、Uid、Tid?此篇让你大彻大悟
- udp通信2--多发多收
热门文章
- c语言课本引言课后答案,C语言基础(01-引言及预备知识)作业题
- java trie_java字典树(Trie)实现中文模糊匹配
- java string能存储多长_String 有多长?
- c语言剪枝函数,[求助]关于剪枝算法
- putty如何登陆oracle,利用putty的SSH tunnel连接Oracle
- 模型计算机控制器的设计,模型计算机控制器的设计.pdf
- 图片饱和度_做PPT时,文字放在图片上老是看不清,咋办?
- matlab d=sqrt((i-m)^2+(j-n)^2);,硕士研究生《数字图像处理》作业
- react-native拨打电话和安卓端拨打电话
- Android自定义控件学习(四)------创建一个视图类