LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

Я не знаю, возможно «несколько тысяч» — это действительно перебор. Но вот типовые случаи действительно разумно разруливать библиотекой.

Например, задание взаимно исключающих наборов ключей, о которых речь в новости. Или заранее указать, что допустим, ключ -p всегда должен сопровождаться после пробела положительным номером порта, а ключ -d — неотрицательным числом секунд. Если эти параметры отсутствуют или присутствуют в неправильном формате, нужно вывести сообщение об ошибке.

Когда у тебя под рукой только argc и argv, для таких элементарнейших вещей всякий раз приходится городить трёхэтажный велосипед. Это, конечно, не смертельно, но подбешивает, поскольку отвлекает от прикладной задачи, ну и громоздкость исходников увеличивает.

В принципе, getopt.h может быть выходом, но он, ЕМНИП, понимает только однобуквенные ключи, а их не всегда хватает, да и во многих консольных программах, даже GNUтых, считается хорошим тоном иметь один и тот же ключ как в однобуквенном, так и в развёрнутом вариантах.

Исходная версия hobbit, :

Я не знаю, возможно «несколько тысяч» — это действительно перебор. Но вот типовые случаи действительно разумно разруливать библиотекой.

Например, задание взаимно исключающих наборов ключей, о которых речь в новости. Или заранее указать, что допустим, ключ -p всегда должен сопровождаться после пробела положительным номером порта, а ключ -d — неотрицательным числом секунд. Если эти параметры отсутствуют или присутствуют в неправильном формате, нужно вывести сообщение об ошибке.

Когда у тебя под рукой только argc и argv, для таких элементарнейших вещей всякий раз приходится городить трёхэтажный велосипед. Это, конечно, не смертельно, но подбешивает, поскольку отвлекает от прикладной задачи, ну и громоздкость исходников увеличивает.