首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么把定义16进制的文本转化为字符串

2012-01-18 
如何把定义16进制的文本转化为字符串如:定义了一个字符串“736B79626F6F6B”,表示了7个字符,怎么把这个字符

如何把定义16进制的文本转化为字符串
如:定义了一个字符串“736B79626F6F6B”,表示了7个字符,怎么把这个字符串表示出来

[解决办法]
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main( void )
{
char szStr[ ] = "736B79626F6F6B ";
char szStr1[ 100 ] = { 0 };
for ( int i = 0; i < 7; i++ )
{
int x = 0;
sscanf( szStr + i * 2, "%2x ", &x );
szStr1[ i ] = x;
}
printf( "%s\n ", szStr1 );
getch( );
}
[解决办法]
sscanf
[解决办法]
int hex2i(char a)
{
if (a > = '0 ' && a <= '9 ')
return a - '0 ';
else if (a > = 'A ' && a <= 'F ')
return (a - 'A ' + 10);
else if (a > = 'a ' && a <= 'f ')
return (a - 'a ' + 10);
return 0;
}

string func(string const& a)
{

string r;
for (size_t i = 0; i < a.size(); i += 2)
{
unsigned int b = hex2i(a[i]) * 16 + hex2i(a[i + 1]);
r += char(b);
}

return r;
}


void main(int a){

string e = func( "FB56 ");
}
楼主是这个意思吧? 返回了7个字符。

[解决办法]
char aa[7], bb[14];
strcpy(bb, "736B79626F6F6B ");
sscanf(bb, "%2x%2x%2x%2x%2x%2x%2x ", &aa[0], &aa[1],&aa[2],&aa[3],&aa[4],&aa[5],&aa[6]);


[解决办法]
CString str;
char szStr[ ] = "736B79626F6F6B ";
str.Format( "%2x%2x%2x%2x%2x%2x%2x ", &szStr[ 0 ], &szStr[ 2 ], &szStr[ 4 ], &szStr[ 6 ], &szStr[ 8 ], &szStr[ 10 ], &szStr[ 12 ] );

热点排行