//将单个字符转为相应的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之间相互转化相关推荐

  1. C语言/C++中怎么表示8进制数或者16进制数?(8进制数用数字0开头,16进制数用0x或者0X开头)

    在C语言里,整数有三种表示形式:十进制,八进制,十六进制. 其中以数字0开头,由0到7组成的数是八进制. 以0X或0x(0x中是数字0,不是大写字母O)开头,由0-9,A-F或a~f 组成是十六进制. ...

  2. c语言中如何将字符串转成16进制,用c语言写一个函数把十进制转换成十六进制,该如何处理...

    用c语言写一个函数把十进制转换成十六进制 用c语言写一个函数把十进制转换成十六进制 网上找到一些,感觉有占乱 分享到: ------解决方案-------------------- #include ...

  3. c语言 printf 输出格式控制 %#x 带0x 16进制的输出

    #include<stdio.h> #include<stdlib.h>int main(void) {#if 0 printf("这里是注释"); #en ...

  4. 计算机进制各用什么字母表示方法,16进制字母大还是数字大 16进制中的字母代表什么...

    F字母使用大写这六个字母来分别表示16进制多位数字母需要换算,E,范围从00000000-111111表示0到2一位16进制数用二进制表示是xxxx最多只表示到15即对应16进制的F.作业,但这种混合 ...

  5. 16进制、Cstring、char*类型转换

    //char*转16进制 DWORD HEXS(char *decString) {DWORD hexValue=0;DWORD sl=0;BOOL isWhile=FALSE;DWORD idx=0 ...

  6. c语言16进制数字母对应,写一个函数,输入一个十六进制数,输出相应的十进制数(附C程序 和 更加简单的实现方法)...

    写一个函数,输入一个十六进制数,输出相应的十进制数.基本思路是16进制数以字符串输入,然后经过转变为相应的10进制数,主要处理A~F六个字母对应的值,相应的程序如下: #include #includ ...

  7. C语言之10/16进制字符串和数字转换(四)

    #include <stdio.h> #include <stdlib.h>int main() {//1.将10进制和16进制字符串转换成数字char a[] = " ...

  8. C语言sscanf()正则表达式注意及截取字符串 提取数字 转16进制字节数组 超简单

    截取字符串 #include <stdio.h> int main(int argc,char** argv) {const char* in = "a1b2c3ABCdef 1 ...

  9. vc 文字转换到机内码,输入汉字和数字, 输出一串16进制码(数字-〉ASII码,汉字—〉国标码)...

    // 可以用,此程序实现的是是文字转换到机内码.机内码=国标码+8080H,不过学习了.//此程序是利用汉字在机器内输出就是机内码的原理,直接保存的,其实挺简单.//输入一串汉字和数字的混合字符, 经 ...

最新文章

  1. 处理器拦截器(HandlerInterceptor)详解
  2. 大家来说说咱们IT人订阅什么周刊和月刊比较好
  3. 127. Word Ladder
  4. python-封装pymysql的思路步骤
  5. Mac 下使用 homebrew 切换不同版本 php
  6. Angular2 依赖注入
  7. UVA12416 Excessive Space Remover【对数+字符流】
  8. js系列教程4-函数、函数参数全解
  9. 文件与base64的互相转换操作
  10. 将OSM地图转化成OpenDRIVE
  11. php7isapi,Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程
  12. 女研究生做“思维导图”与男友吵架!网友:吵架届的“内卷之王”....
  13. 十九种Elasticsearch字符串搜索方式终极介绍
  14. matlab凑数求和,凑数求和算法 C语言问题 C语言求和算法
  15. 【C语言笔记】【宏定义系列】 判断是否2的n次幂对齐
  16. IE无法打开网页的解决方法
  17. 内核下断链隐藏进程(兼容多版本Windows系统,非硬编码)
  18. PROE5.0飞利浦耳机结构设计教程
  19. 什么是Pid、Uid、Tid?此篇让你大彻大悟
  20. udp通信2--多发多收

热门文章

  1. c语言课本引言课后答案,C语言基础(01-引言及预备知识)作业题
  2. java trie_java字典树(Trie)实现中文模糊匹配
  3. java string能存储多长_String 有多长?
  4. c语言剪枝函数,[求助]关于剪枝算法
  5. putty如何登陆oracle,利用putty的SSH tunnel连接Oracle
  6. 模型计算机控制器的设计,模型计算机控制器的设计.pdf
  7. 图片饱和度_做PPT时,文字放在图片上老是看不清,咋办?
  8. matlab d=sqrt((i-m)^2+(j-n)^2);,硕士研究生《数字图像处理》作业
  9. react-native拨打电话和安卓端拨打电话
  10. Android自定义控件学习(四)------创建一个视图类