如:定义了一个字符串“736B79626F6F6B”,表示了7个字符,怎么把这个字符串表示出来

解决方案 »

  1.   

    #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( );
    }
      

  2.   

    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个字符。
      

  3.   

    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]);
      

  4.   

    在vc80里面系统说 事实sscanf已经不用了,有没有别的方法
      

  5.   

    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 ] );