FreeCalypso > hg > gsm-net-reveng
view utils/gen-hex-lines.c @ 62:6519e5c4b3f3
top Makefile: add utils
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 25 Sep 2024 18:48:58 +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); }