Durante la scrittura di strumenti per l'interfaccia della riga di comando di UNIX, come devo fare in modo che il programma stampi aiuto e / o utilizzo?
Di solito lo uso fprintf(stderr, "help text here");
, ma ci sono diversi problemi.
- Innanzitutto, non sono sicuro se dovrei usare
stderr
. Va bene o dovrei usarestdout
? - Come puoi immaginare, il testo della guida è piuttosto lungo, a seconda di quante opzioni ha lo strumento. Ora, di solito, ne inserisco diversi
"strings like that\n"
nel secondo parametro. Questo, tuttavia, riempie il mio codice sorgente con cinquanta o più righe di testo di aiuto. Non è affatto facile da gestire. Cosa dovrei fare invece? - Quando uno strumento non è scritto in C o in un linguaggio simile a C, tendo ad usare qui-documenti ove possibile (soprattutto con Perl). Non posso usarlo in C, ma c'è qualcosa del genere che potrei usare?
- Stavo pensando di metterlo in un
headerfile.h
interno a#define HELP "help text here"
, non l'ho mai visto in natura, non so se dovrei davvero usarlo.
Idealmente, potrei mettere il testo in un file esterno e includerlo. L'uso #include
per quello sembra sbagliato, però. Cosa dovrei fare allora?
L'idea è di avere un testo di aiuto facilmente gestibile. Avere all'interno del codice sorgente non è davvero conveniente.