c语言里面的十六进制如何转换成字符串
发布网友
发布时间:2022-05-02 07:15
我来回答
共3个回答
热心网友
时间:2022-07-01 16:40
自己写的代码,还望采纳!!!
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
char st[]="7C7C307C724C7C267C7C7C7C7C3A7C417C7C7C";
int ch[strlen(st)/2];
char c[strlen(st)/2];
printf("十六进制 十进制 字符\n");
for(int i=0;i<strlen(st);i=i+2)
{
ch[i/2]=((st[i]<64?st[i]-48:st[i]-55)*16)+(st[i+1]<64?st[i+1]-48:st[i+1]-55);
c[i/2]=ch[i/2];
printf(" %c%c ",st[i],st[i+1]);
printf(" %5d",ch[i/2]);
printf(" %5c\n",c[i/2]);
}
}
热心网友
时间:2022-07-01 16:40
void Hex2Str( char *sSrc, char *sDest, int nSrcLen )
{
int i;
char szTmp[3];
for( i = 0; i < nSrcLen; i++ )
{
sprintf( szTmp, "%02X", (unsigned char) sSrc[i] );
memcpy( &sDest[i * 2], szTmp, 2 );
}
return ;
}
16进制转换成字符串
热心网友
时间:2022-07-01 16:41
int a = 0xffaa;
char buff[20];
sprintf(buff,"0x%x",a); // 将 a 以16进制方式格式化到 buff 中。