티스토리 뷰
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | void printchar(unsigned char c) { if(isprint(c)) printf("%c",c); else printf("."); } void dumpcode(unsigned char *buff, int len) { int i; for(i=0; i<len; i++) { if(i%16==0) printf("0x%08x ",&buff[i]); printf("%02x ",buff[i]); if(i%16-15==0) { int j; printf(" "); for(j=i-15;j<=i;j++) printchar(buff[j]); printf("\n"); } } if(i%16!=0) { int j; int spaces=(len-i+16-i%16)*3+2; for(j=0;j<spaces;j++) printf(" "); for(j=i-i%16;j<len;j++) printchar(buff[j]); } printf("\n"); } | cs |
/usr/include 에 저장하면 편하게 쓸 수 있음
헤더 호출 후 사용방법 :
1 2 3 4 5 6 7 8 9 10 11 | #include <dumpcode.h> // /usr/include에 저장한 경우.. #include "./dumpcode.h" // 그냥 저장한 경우 int main(void) { char buffer[128]; int i = 0; dumpcode(buffer, 128); dumpcode(&i, 4); } | cs |
'Programming > C' 카테고리의 다른 글
String 내부 알파벳 갯수 계산 (0) | 2016.09.15 |
---|---|
난수 자릿수별 빈도 계산기 (0) | 2016.09.14 |
fork와 pipe와 dup2 함수를 통한 표준 입력 (2) | 2016.06.23 |
GNU gcc의 특수한 C언어 문법 - Designated Initializers (0) | 2016.06.23 |
WinAPI 콤보박스(ComboBox)와 에디트컨트롤(Edit Control) 예제 (0) | 2015.12.07 |
댓글