Используя функцию getopt()
в C, это можно сделать:
program -a arg_for_a -b arg_for_b -c operand1 operand2
и работает без проблем.
Но как заставить это работать таким образом?:
program operand1 operand2 -a arg_for_a -b arg_for_b -c
В этом случае каждый аргумент, включая -a
, -b
и т. д., считается операндом.
Я пытаюсь сделать так же, как gcc
или ssh
:
gcc code.c -o executable
ssh user@host -i file.pem
То есть, в какой бы позиции ни стояли опции и операнды, они распознаются корректно.
Как сделать так, чтобы параметры правильно распознавались, где бы они ни находились, и каждое слово, которое не следует за параметром, распознавалось как операнд?
main
) вручную.gcc
делает это! - person Basile Starynkevitch   schedule 17.07.2013