FreeCalypso > hg > gsm-net-reveng
view utils/gen-hex-lines.c @ 72:afebef67e8d4 default tip
tmo/CSD-tests: document Experiment 7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 28 Nov 2024 02:53:59 +0000 |
parents | ffbbce856ac7 |
children |
line wrap: on
line source
/* * This program reads an arbitrary binary file and converts it into ASCII hex * output with a specified number of bytes per line. */ #include <stdio.h> #include <stdlib.h> main(argc, argv) char **argv; { FILE *inf, *outf; int c, lcnt, bpl; if (argc != 4) { fprintf(stderr, "usage: %s input.bin output.hex bytes-per-line\n", argv[0]); exit(1); } inf = fopen(argv[1], "r"); if (!inf) { perror(argv[1]); exit(1); } outf = fopen(argv[2], "w"); if (!outf) { perror(argv[2]); exit(1); } bpl = atoi(argv[3]); lcnt = 0; for (;;) { c = getc(inf); if (c < 0) break; fprintf(outf, "%02X", c); lcnt++; if (lcnt >= bpl) { putc('\n', outf); lcnt = 0; } } if (lcnt) putc('\n', outf); exit(0); }