neogeisha
написала 19 декабря 2007 года в 22:21 (823 просмотра)
Ведет себя
как женщина; открыла 53 темы в форуме, оставила 266 комментариев на сайте.
собственно сабж
например так
file -h
-f open file
то есть тут два параметра, как их скормить программе?
желательно посмотреть на живой пример
спасибо
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Ну ты бы хотя бы язык указала, что ли…
сори, с
int main(char** argv, int argc)
{
/* … */
return 0;
}
argv — масив строковых параметров твоей проги
argc — количество параметров
file -f open file
1-й параметр: имя проги (file)
2-й: -f
3-й: open
4-й: file
а как сопоставить параметра и действие? как лучше?
case?
или параметры это тоже массивы?
и если эллемент массива равен -р то делать тотто тото ?
Лучше не изобретать велосипеды и использовать getopt. man getopt, там и примерчик есть.
спасибо, попробуй
не лучше getopt_long
В том же man :)
Я думаю, наиболее правильным здесь было бы:
1. [Как минимум] ознакомиться с тремя традициями указания опций.
2. Составить собственное мнение относительно наиболее подходящего.
И уже исходя из этого — разбираться с реализацией.
и какие же это три традиции?
1. BSD
Опция явно не выделяется. Под опцию резервируется один символ.
Типический пример — tar.
2. Классика (System V)
Опять же: под опцию отводится один символ. Опции выделяются символом '-’.
Примеров использующих чисто этот вариант указания опций навскидку не назову.
3. GNU (привет Столлману)
Опция может содержать как один, так и несколько символов.
Выделяется уже также последовательностью символов: '--’.
Во всех трёх случаях опции разделяются пробелами.
В настоящее время обычно используются варианты 2+3. Думается мне, отчасти сие объясняется реализацией getopt.
Получается примерно так
./test -f file -s числовой_параметр_какой_нить
1. Бля, Анархист, как ты достал уже! И где ты видел в BSD такие опции, как в tar? Такое говно использует только tar, ps и dd, насколько мне известно. И с BSD это никак не связано.
2. Пример? man. man использует короткие опции. Вот это, как раз и используется в BSD, а не (1).
3. …
4. Как в X.org: -option — '-' один, но символов много.
Ты бы сам матчасть подучил что ли.
А ты вообще видел те системы, к которым это относится?
Стандарт.
Иллюстрация того, что не все согласны (хотят следовать) по Пути указанном Столлманном.
Я не видел таких систем. Ни к одной из известных мне BSD-систем это не относится. Ты что ли видел такие системы? А если нет, то какого тогда заявляешь, что односимвольные опции без '-’ — это BSD-конвенция?
Дык эти договорённости из времён, когда собственно и произошло разделение на System V и BSD.
Я же и говорю про истрию.
Эти договорённости из жопы. Их достали исторические авторы этих трёх прог. В UNIX всю жизнь опции были -, и в BSD это никогда не меняли.