Як писати інструменти для CLI UNIX, як мені зробити так, щоб програма роздрукувала довідку та / або використання?
Я зазвичай використовую fprintf(stderr, "help text here");, але з цим є кілька питань.
- По-перше, я не впевнений, чи варто використовувати
stderr. Це все в порядку, або я повинен використовуватиstdout? - Як ви можете уявити, текст довідки досить довгий, залежно від того, скільки можливостей має інструмент. Зараз, як правило, я просто вкладаю кілька
"strings like that\n"у другий параметр. Однак це заповнює мій вихідний код п'ятдесят і більше рядків довідкового тексту. Це зовсім не просто керовано. Що мені робити замість цього? - Коли інструмент не написаний на мові С або на C-подібній мові, я, як правило, використовую тут документи, де це можливо (найбільш чітко з Perl). Я не можу використовувати це в C, але чи є щось подібне, що я міг би використати?
- Я розглядав питання про те, щоб помістити його
headerfile.hвсередину#define HELP "help text here", я ніколи не бачив його в дикій природі, не знаю, чи слід реально це використовувати.
В ідеалі я міг би помістити текст у зовнішній файл і включити його. Використання #includeдля цього здається неправильним. Що мені робити тоді?
Ідея полягає у наявності довідкового тексту, який легко керується. Мати його всередині вихідного коду не дуже зручно.