C语言char*字符串数组和unsigned char[]数组的相互转换

#include <iostream>  
#include <string>  
using namespace std;  
  
void convertUnCharToStrchar* str, unsigned char* UnChar, int ucLen)  
{  
    int i = 0;  
    fori = 0; i < ucLen; i++)  
    {  
        //格式化输str,每unsigned char 转换字符占两位置%x写输%X写输  
        sprintfstr + i * 2, “%02x”, UnChar[i]);  
    }  
}  
  
void convertStrToUnCharchar* str, unsigned char* UnChar)  
{  
    int i = strlenstr), j = 0, counter = 0;  
    char c[2];  
    unsigned int bytes[2];  
  
    for j = 0; j < i; j += 2)   
    {  
        if0 == j % 2)  
        {  
            c[0] = str[j];  
            c[1] = str[j + 1];  
            sscanfc, “%02x” , &bytes[0]);  
            UnChar[counter] = bytes[0];  
            counter++;  
        }  
    }  
    return;  
}  
  
int main)  
{  
    unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab};  
    char buffer[20];//维数定义些  
    convertUnCharToStrbuffer, src, 6);    
    printf“%s
“, buffer);  

  
  
    unsigned char dst[6];  
    int len = strlenbuffer);  
    cout << len << endl;  
    convertStrToUnCharbuffer, dst);  
      
    int i = 0;  
    fori = 0; i < 6; i++)  
    {  
        printf“%x “, dst[i]);  
    }  
    cout << endl;  
  
  
    return 0;  

Published by

风君子

独自遨游何稽首 揭天掀地慰生平