本文共 1510 字,大约阅读时间需要 5 分钟。
void DebugASCII( char *buf1, int leng, int line){ int i, j=0; char s[100], temp[5]; printf( "Debug Information from Line: %04d/n", line); for( i=0; i<leng; i++) { if ( j==0) { memset( s, ' ', 84); sprintf(temp, " %03d:",i ); memcpy( s, temp, 5); sprintf(temp, ":%03d",i+15 ); memcpy( &s[72], temp, 4); } sprintf( temp, "%02X ", (unsigned char)buf1[i]); memcpy( &s[j*3+5+(j>7)], temp, 3); if ( isprint( buf1[i])) { s[j+55+(j>7)]=buf1[i]; } else { s[j+55+(j>7)]='.'; } j++; if ( j==16) { s[76]=0; printf( "%s/n", s); j=0; } } if ( j) { s[76]=0; printf( "%s/n", s); }} int main(int argc, char* argv[]){ try { char buf[] = "/x20/x30/x10/x20/x40/x33/x21/x54/x37/x34/x20/x11/x24/x56/x78/x22/x10/x11/x30/x31/x32/x33/x34/x35/x36/x20/x30/x10/x20/x40/x33/x21/x54/x37/x34/x20/x11/x24/x56/x78/x22/x10/x11/x30/x31/x32/x33/x34/x35/x36/x20/x30/x10/x20/x40/x33/x21/x54/x37/x34/x20/x11/x24/x56/x78/x22/x10/x11/x30/x31/x32/x33/x34/x35/x36"; DebugASCII(buf, strlen(buf),1); } catch (std::exception& e) { std::cerr << "exception: " << e.what() << "/n"; } return 0;}
显示结果
Debug Information from Line: 0001 000:20 30 10 20 40 33 21 54 37 34 20 11 24 56 78 22 0. @3!T 74 .$Vx":015 016:10 11 30 31 32 33 34 35 36 20 30 10 20 40 33 21 ..012345 6 0. @3!:031 032:54 37 34 20 11 24 56 78 22 10 11 30 31 32 33 34 T74 .$Vx "..01234:047 048:35 36 20 30 10 20 40 33 21 54 37 34 20 11 24 56 56 0. @3 !T74 .$V:063 064:78 22 10 11 30 31 32 33 34 35 36 x"..0123 456 :079
转载地址:http://uggdi.baihongyu.com/