Mandatory Optionen mit getopt_long () in C
-
10-10-2019 - |
Frage
Mit C / C ++, getopt_long()
kann Parse Argumente Befehlszeile verwendet werden. Ist es möglich, die Funktion zu sagen, dass einige der Optionen, die notwendig sind? Zum Beispiel: Wie kann ich getopt_long
sagen, dass die Parsing-Fehler geben soll, wenn startServer
ohne zu erwähnen, den Hafen unten genannt wird?
./startServer -port 80
. Hinweis: Ich spreche nicht von Option Argumenten als zwingend, sondern die Optionen selbst
Lösung
getopt_long()
ist nicht Teil der C-Sprache. Es ist eine GNU Erfindung, die in einigen C-Implementierungen zur Verfügung steht, aber bei weitem nicht alle.
Die Version von getopt_long()
in glibc (verwendet in den meisten Linux-Distributionen) erlaubt es nicht, Sie festlegen, dass eine Option ist obligatorisch. Sie müssen sie explizit überprüfen, nachdem Sie die Befehlszeile fertig sind Parsen.