Durante la scrittura di strumenti per la CLI di UNIX, come posso fare in modo che il programma stampi aiuto e / o utilizzo?
Di solito uso fprintf(stderr, "help text here");
, ma ci sono diversi problemi con questo.
- In primo luogo, 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, metto solo diversi
"strings like that\n"
nel secondo parametro. Questo, comunque, 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 a usare here-docs dove possibile (in modo predominante con Perl). Non posso usarlo in C, ma c'è qualcosa di simile, che potrei usare?
- Stavo considerando di inserirlo in un
headerfile.h
all'interno di#define HELP "help text here"
, non l'ho mai visto in natura, non so se dovrei effettivamente usarlo.
Idealmente, potrei inserire il testo in un file esterno e includerlo. Tuttavia, usare #include
per quello sembra sbagliato. Cosa dovrei fare allora?
L'idea è, per avere un testo di aiuto, che sia facilmente gestibile. Averlo nel codice sorgente non è molto comodo.