第一种情况:

BYTE[0]=Ox12 BYTE[1]=0x34 BYTE[2]=0x56

最后要转换成字符串123456

另外一种情况:

BYTE[0]=Ox12 BYTE[1]=0x34 BYTE[2]=0x50

最后要转换成字符串12345

#include <iostream>

using std::cout;

using std::endl;

typedef char BYTE;

BCDconvert(res_arr, c2_arr, sizeof(c2_arr));

BCDconvert(res_arr, c2_arr, sizeof(c2_arr));

BCDconvert(res_arr, c3_arr, sizeof(c3_arr));

BYTE* BCDconvert(BYTE *cr, BYTE *cl, int cl_len) {

BYTE *cl_end = cl + cl_len;

BYTE *cr_begin = cr;

if (cl_len == 0) return NULL;

for (; cl<cl_end; ++cl) {

*cr++ = 0x30 | ((*cl & 0xF0) >> 4);

*cr++ = 0x30 | *cl & 0x0F;

}

// cr[-1] == 0x30 ? cr[-1] = 0 : cr[0] = 0;

/**/

while (cr > cr_begin && *--cr == 0x30) NULL;

if (cr != cr_begin)

cr[1] = 0;

else return NULL;

/**/

return cr;

}

int main(int argc, char *argv[]) {

BYTE c1_arr[] = {0x12, 0x34, 0x56};

BYTE c2_arr[] = {0x12, 0x34, 0x50};

BYTE c3_arr[] = {0x00, 0x00, 0x00};

BYTE res_arr[32];

if (BCDconvert(res_arr, c1_arr, sizeof(c1_arr)) != NULL)

cout << res_arr << endl;

if (BCDconvert(res_arr, c2_arr, sizeof(c2_arr)) != NULL)

cout << res_arr << endl;

if (BCDconvert(res_arr, c3_arr, sizeof(c3_arr)) != NULL)

cout << res_arr << endl;

return 0;

}

假设是仅仅删除最后一个0,将

cr[-1] == 0x30 ? cr[-1] = 0 : cr[0] = 0;

取消凝视,

另凝视:

/**/

while (cr > cr_begin && *--cr == 0x30) NULL;

if (cr != cr_begin)

cr[1] = 0;

else return NULL;

/**/

将第一个/**/改动为/** /就可以凝视掉!

使用时需先检測返回时,假设返回值不为NULL,即转换正确,假设返回NULL,表示传入的BYTE[]有误,或者全为0(此仅在使用while时才有可能出现).

C++ BYTE数组转字符串的更多相关文章

  1. php byte数组与字符串转换类

    <?php /** * byte数组与字符串转化类 * @author ZT */ class Bytes { /** * 转换一个string字符串为byte数组 * @param $str ...

  2. Byte数组和字符串相互转换的问题

    第一:需求:将文件转成byte数组,之后转成字符串返回.过滤器接收到响应内容后,需要将响应的内容转成byte数组. 第二:我刚开始的做法: Controller:byteArr = Conversio ...

  3. VB Byte数组转字符串问题

    在c#中,byte转换为字符串的过程中,如果byte的值为0,则转换成字符串时变为’\0’字符,’\0’字符在C#中意味着字符串结束,如果后面再有字符,则读取字符串的程序也不能读取和显示出来. 但是在 ...

  4. byte[] 数组和字符串的转换,与byte[] 数组和int类型的之间的转化

    我们先来看看byte bool  int ushort  等的定义 首先时byte[]数组与string之间的转换 string 转换位byte[] 数组 string str = "1-1 ...

  5. 你的环境有问题吧?--byte数组转字符串的疑惑

    1. 故事背景 小T是个测试MM,小C是个程序猿,今天早上他们又为一个bug吵架了. 小T:“这个显示是bug,在我的浏览器上显示不正确” 小C:“这个bug我不认,在我的电脑上显示正常,是你的环境有 ...

  6. c++中byte数组与字符串的转化

    我们不讨论与字符集有关的内容,只讨论在字节流传递过程中的问题. 我们在做一系统操作时会需要使用到数据流,比如接收网络数据,文件数据,图片数据,原始数据大多是以byte数组的形式提供,与其它语言(c#, ...

  7. 字符串与byte数组转换

    string weclome=""; byte[] data = new byte[1024]; //字符串转byte数组 data = Encoding.ASCII.GetByt ...

  8. 十六进制字符串转化为byte数组

    工作上有这样的需求之前找了好多都不行,好不容易有个可以的赶紧留下来. 原址:http://blog.163.com/roadwalker@126/blog/static/113561841201013 ...

  9. 字符串、十六进制、byte数组互转

    import java.io.ByteArrayOutputStream; public class HexUtil { /** * @param args */ public static void ...

随机推荐

  1. CDH版本大数据集群下搭建Avro(hadoop-2.6.0-cdh5.5.4.gz + avro-1.7.6-cdh5.5.4.tar.gz的搭建)

    下载地址 http://archive.cloudera.com/cdh5/cdh/5/avro-1.7.6-cdh5.5.4.tar.gz

  2. 2017国家集训队作业[agc006e]Rotate 3x3

    2017国家集训队作业[agc006e]Rotate 3x3 题意: ​ 给你一个\(3*N\)的网格,每次操作选择一个\(3*3\)的网格,旋转\(180^\circ\).问可不可以使每个位置\(( ...

  3. command---调用指定的指令并执行

    command命令调用指定的指令并执行,命令执行时不查询shell函数.command命令只能够执行shell内部的命令. 语法 command(参数) 参数 指令:需要调用的指令及参数. 实例 使用 ...

  4. C# WPF开源控件库MaterialDesign介绍

    介绍 1.由于前端时间萌发开发一个基础架构得WPF框架得想法, 然后考虑到一些界面层元素统一, 然后就无意间在GitHub上发现一个开源WPF UI, 于是下载下来了感觉不错. 官网地址:http:/ ...

  5. Android程序使用SOAP调用远程WebService服务

    在现在的应用程序中.不可能不使用到网络,而且后台一定是有server作为支撑的. 现在最常见的调用方式有HTTP的GET .POST方式,返回JSON或者XML数据. 可是也有一种常见的形式就是调用W ...

  6. Elasticsearch中JAVA API的使用

    1.Elasticsearch中Java API的简介 Elasticsearch 的Java API 提供了非常便捷的方法来索引和查询数据等. 通过添加jar包,不需要编写HTTP层的代码就可以开始 ...

  7. 一个令人蛋疼的NDK链接错误

    背景 我们APP的引擎包engine.so.包括了A.B.C三个project.但每次都是源代码形式编译,导致svn上存在多份同样代码拷贝. 很不科学. ..核心的Bproject由我维护.整个SO编 ...

  8. Leetcode:signal_number_ii

    一.     题目 给一个数组,当中仅仅有一个数出现一次.其它的数都出现3次,请找出这个数.要求时间复杂度是O(n).空间复杂度O(1). 二.     分析 第一次遇见这种题,真心没思路-.前面的s ...

  9. SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例

    第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登录实例(我们可以布到多个机器上使用都是同一个道理的),一个服务器主机,和两个客户端虚拟主机 [html] view plaincop ...

  10. Android Studio中怎样引用图片资源

    随着不断接触Android Studio,越来越发现和Eclipse有着巨大的差别. 不管是表面的目录结构,还是内在对各种资源的管理. 本篇就来聊聊Android Studio中怎样来显示图片. 以及 ...