C语言char*字符串数组和unsigned char[]数组的相互转换
2016-06-08 21:36
549 查看
#include <iostream> #include <string> using namespace std; void convertUnCharToStr(char* str, unsigned char* UnChar, int ucLen) { int i = 0; for(i = 0; i < ucLen; i++) { //格式化输str,每unsigned char 转换字符占两位置%x写输%X写输 sprintf(str + i * 2, "%02x", UnChar[i]); } } void convertStrToUnChar(char* str, unsigned char* UnChar) { int i = strlen(str), j = 0, counter = 0; char c[2]; unsigned int bytes[2]; for (j = 0; j < i; j += 2) { if(0 == j % 2) { c[0] = str[j]; c[1] = str[j + 1]; sscanf(c, "%02x" , &bytes[0]); UnChar[counter] = bytes[0]; counter++; } } return; } int main() { unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab}; char buffer[20];//维数定义些 convertUnCharToStr(buffer, src, 6); printf("%s\n", buffer); unsigned char dst[6]; int len = strlen(buffer); cout << len << endl; convertStrToUnChar(buffer, dst); int i = 0; for(i = 0; i < 6; i++) { printf("%x ", dst[i]); } cout << endl; return 0; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#实现AddRange为数组添加多个元素的方法
- C#比较二个数组并找出相同或不同元素的方法
- 浅析Oracle中char和varchar2的区别
- C#动态调整数组大小的方法
- Lua中调用C++函数示例
- 详解Lua中的数组概念知识
- Lua教程(一):在C++中嵌入Lua脚本
- Perl中的列表和数组学习笔记
- Lua教程(二):C++和Lua相互传递数据示例
- MySQL中VARCHAR与CHAR格式数据的区别
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- C#交错数组用法实例
- Linux Shell 数组建立及使用技巧