문제

네트워크 및 직렬 통신 소프트웨어로 많은 작업을하기 때문에 데이터 패킷의 16 진 덤프를 표시하거나 기록하는 코드가 필요한 경우가 많습니다.

이 작업을 수행 할 때마다 처음부터 또 다른 16 진 덤프 루틴을 작성합니다.다시 그렇게하려고합니다.하지만 여기서 물어볼 것 같습니다. 어딘가에 C ++ 용 무료 16 진수 덤프 코드가 있습니까?

원하는 기능 :

  • 행당 N 바이트 (N은 구성 가능)
  • 16 진수와 함께 선택적인 ASCII / UTF8 덤프
  • 구성 가능한 들여 쓰기, 줄별 접두사, 줄별 접미사 등
  • 최소 종속성 (이상적으로는 코드가 모두 헤더 파일에 있거나 그냥 붙여 넣을 수있는 스 니펫이되기를 원합니다)

    편집 : 설명 : stderr, stdout, 로그 파일 또는 기타 출력 스트림에 쓰기 위해 내 프로그램에 쉽게 삽입 할 수있는 코드를 찾고 있습니다.명령 줄 16 진수 덤프 유틸리티를 찾고 있지 않습니다.

도움이 되었습니까?

해결책

유닉스 도구 인 xxd vim 의 일부로 배포되며 http://www.vmunix.com/vim/util.html#xxd ,xxd는 ftp : //ftp.uni-erlangen입니다..de : 21 / pub / utilities / etc / xxd-1.10.tar.gz .C로 작성되었으며 약 721 줄입니다.이에 대한 유일한 라이센스 정보는 다음과 같습니다. 라코 디스

유닉스 도구 hexdump http://gd.tuwien.ac에서 사용할 수 있습니다..at / softeng / Aegis / hexdump.html .C로 작성되었으며 소스에서 컴파일 할 수 있습니다.xxd보다 상당히 크고 GPL에 따라 배포됩니다.

다른 팁

오래 전에 작성한이 작은 스 니펫을 자주 사용합니다.디버깅 등을 할 때 짧고 쉽게 추가 할 수 있습니다. 라코 디스

누군가가 유용하다고 생각하는 경우 ...

ascii / hex dumper 이 답변에서 .

ANSI 터미널 색상으로 동일한 답변을 기반으로 한 C ++ 버전은 여기 에서 찾을 수 있습니다.

xxd보다 더 가볍습니다.

PSPad 가 16 진 편집기로 사용되는 것을 보았지만 저는 보통 당신이하는 것과 같은 일을합니다.이 질문에 대한 "즉시 답변"이 없다는 것에 놀랐습니다.매우 일반적인 요구 사항입니다.

이것을 하나에서 사용했습니다 직장에서 내 내부 도구.

Wireshark에 대한 자신의 해부 를 작성할 수 있습니까?

편집 : 질문의 정밀도 앞에 작성

xxd 는 '표준'16 진 덤프 유틸리티입니다.문제가 해결 될 것 같습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top