2011-01-12 11 views
5

Z C/C++, getopt_long() można użyć do analizy argumentów wiersza poleceń. Czy można powiedzieć, że niektóre opcje są obowiązkowe? Na przykład, jak mogę powiedzieć getopt_long, że parsowanie powinno dać błąd, jeśli zostanie wywołana startServer, nie wspominając o porcie poniżej?Obowiązkowe opcje z getopt_long() w C

./startServer -port 80

Uwaga: Nie mówię argumentów opcyjnych jako obowiązkowe, ale raczej samych opcji.

+0

Wątpię, czy istnieje sposób. śledzić, czy ta opcja została zauważona? – lijie

Odpowiedz

5

getopt_long() nie jest częścią języka C. Jest to wynalazek GNU, który jest dostępny w niektórych implementacjach C, ale daleko mu do wszystkich.

Wersja getopt_long() w glibc (używana w większości dystrybucji systemu Linux) nie pozwala określić, że opcja jest obowiązkowa. Po zakończeniu analizowania wiersza poleceń należy je wyraźnie sprawdzić.

Powiązane problemy