Al escribir herramientas para la CLI de UNIX, ¿cómo debo hacer que el programa imprima ayuda y / o uso?
Usualmente uso fprintf(stderr, "help text here");
, pero hay varios problemas con eso.
- Primero, no estoy seguro de si debo usarlo
stderr
. ¿Está bien o debería usarlostdout
? - Como puede imaginar, el texto de ayuda es bastante largo, dependiendo de cuántas opciones tenga la herramienta. Ahora, por lo general, solo pongo varios
"strings like that\n"
en el segundo parámetro. Sin embargo, esto llena mi código fuente con cincuenta o más líneas de texto de ayuda. No es fácil de manejar en absoluto. ¿Qué debo hacer en su lugar? - Cuando una herramienta no está escrita en C o en un lenguaje similar a C, tiendo a usar documentos aquí donde sea posible (lo más destacado con Perl). No puedo usar eso en C, pero ¿hay algo así que pueda usar?
- Estaba considerando ponerlo
headerfile.h
dentro de un#define HELP "help text here"
, nunca lo he visto en la naturaleza, no sé si realmente debería usar eso.
Idealmente, podría poner el texto en un archivo externo e incluirlo. Sin #include
embargo, usar eso parece estar mal. ¿Que debería hacer entonces?
La idea es, tener un texto de ayuda, que sea fácilmente manejable. Tenerlo dentro del código fuente no es realmente conveniente.