Ao escrever ferramentas para a CLI do UNIX, como devo fazer com que o programa imprima ajuda e / ou uso?
Eu costumo usar fprintf(stderr, "help text here");, mas há vários problemas com isso.
- Primeiro, não tenho certeza se devo usar
stderr. Está tudo bem ou devo usarstdout? - Como você pode imaginar, o texto de ajuda é bastante longo, dependendo de quantas opções a ferramenta possui. Agora, normalmente, basta colocar vários
"strings like that\n"no segundo parâmetro. No entanto, isso preenche meu código-fonte com cinquenta ou mais linhas de texto de ajuda. Não é nada fácil de gerenciar. O que devo fazer em vez disso? - Quando uma ferramenta não é escrita em C ou em uma linguagem semelhante a C, costumo usar os documentos aqui sempre que possível (principalmente com o Perl). Não posso usar isso em C, mas há algo assim que eu poderia usar?
- Eu estava pensando em colocá-lo
headerfile.hdentro de um interior#define HELP "help text here", nunca o vi na natureza, não sei se devo usá-lo.
Idealmente, eu poderia colocar o texto em um arquivo externo e incluí-lo. Usar #includepara isso parece errado, no entanto. O que devo fazer então?
A idéia é, para ter um texto de ajuda, que seja facilmente gerenciável. Tê-lo dentro do código-fonte não é realmente conveniente.