全站数据
8 4 2 0 5 8 1

c++ 字符串转换16进制

建造师小黄龙 | 简单学习,快乐成才!         
问题更新日期:2024-10-19 19:56:41

问题描述

c++ 字符串转换16进制,在线求解答
精选答案
最佳答案

static int str_to_hex(char *string, unsigned char *cbuf, int len)

{

BYTE high, low;

int idx, ii=0;

for (idx=0; idx<len; idx+=2)

{

high = string[idx];

low = string[idx+1];

if(high>='0' && high<='9')

high = high-'0';

else if(high>='A' && high<='F')

high = high - 'A' + 10;

else if(high>='a' && high<='f')

high = high - 'a' + 10;

else

return -1;

if(low>='0' && low<='9')

low = low-'0';

else if(low>='A' && low<='F')

low = low - 'A' + 10;

else if(low>='a' && low<='f')

low = low - 'a' + 10;

else

return -1;

cbuf[ii++] = high<<4 | low;

}

return 0;

}

static void hex_to_str(char *ptr,unsigned char *buf,int len)

{

for(int i = 0; i < len; i++)

{

sprintf(ptr,

"%02x