直接将第一的值的每个字节按unsigned char输出就行了。

解决方案 »

  1.   

    int convert_text_gb_hex( IN char *text, OUT char *gb_hex )
    {
    CString a = ( CString )text;
    a.TrimLeft();
    a.TrimRight(); if( *text )
    {
    h2s( ( unsigned char * )a.GetBuffer( a.GetLength() ), ( unsigned short )a.GetLength(), gb_hex );
    }
    else
    {
    *gb_hex = 0;
    } return 0;
    }设输入为 "123",则输入为"313233"
      

  2.   

    int convert_text_gb_hex( IN char *text, OUT char *gb_hex )
    {
    CString a = ( CString )text;
    a.TrimLeft();
    a.TrimRight(); if( *text )
    {
    h2s( ( unsigned char * )a.GetBuffer( a.GetLength() ), ( unsigned short )a.GetLength(), gb_hex );
    }
    else
    {
    *gb_hex = 0;
    } return 0;
    }
    竟然忘了按C格式发
      

  3.   


    char *
    h2s( unsigned char *h, unsigned short len, char *buf )
    {
    int i;
    for( i = 0; i < len; i++ )
    {
    sprintf( buf + i * 2, "%.2X", ( unsigned char )*( h + i ) );
    }
    *( buf + i * 2 ) = 0;
    return buf;
    }