FILE2C(1)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

🌸 file2c(1) β€” General Commands Manual 🌸

okay so bestie, welcome to file2c from the General Commands Manual β€” it's giving "turn a file into C-source" and honestly? iconic. πŸ’…


✨ NAME ✨

file2c β€” convert file to c-source. That's the whole vibe: file goes in, C-source comes out, periodt. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

file2c [-sx] [-n count] [prefix [suffix]]

πŸ’œ DESCRIPTION πŸ’œ

okay so here's the tea: the file2c utility reads a file from stdin and writes it to stdout, converting each byte to its decimal or hexadecimal representation on the fly. The byte values are separated by a comma. This also means that the last byte value is not followed by a comma. πŸ“

By default the byte values are printed in decimal, but when the -x option is given, the values will be printed in hexadecimal. When the -s option is given, each line is printed with a leading tab and each comma is followed by a space except for the last one on the line. ✨

If more than 70 characters are printed on the same line, that line is ended and the output continues on the next line. With the -n option this can be made to happen after the specified number of byte values have been printed. The length of the line will not be considered anymore. To have all the byte values printed on the same line, give the -n option a negative number. no cap, that negative number is the "all on one line" cheat code. 😭

A prefix and suffix string can be printed before and after the byte values, respectively. If a suffix is to be printed, a prefix must also be specified. The first non-option word is the prefix, which may optionally be followed by a word that is to be used as the suffix. 🫢

This program is typically used to embed binary files into C source files. The prefix is used to define an array type and the suffix is used to end the C statement. The -n, -s and -x options are useful when the binary data represents a bitmap and the output needs to remain readable and/or editable. Fonts, for example, are a good example of this. πŸ‘‘


πŸ“ EXAMPLES πŸ“

The command:

date | file2c 'const char date[] = {' ',0};'

will produce:

const char date[] = {
83,97,116,32,74,97,110,32,50,56,32,49,54,58,50,56,58,48,53,
32,80,83,84,32,49,57,57,53,10
,0};

that's the whole page, bestie β€” Debian edition, dated March 22, 2007, mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from