Verwendung von getopt in C mit Nichtoptionsargumenten
Ich erstelle ein kleines Programm in C, das sich mit vielen Befehlszeilenargumenten befasst, und habe mich daher dazu entschlossen, getopt zu verwenden, um sie für mich zu sortieren.
Ich möchte jedoch, dass zwei Nicht-Options-Argumente (Quell- und Zieldateien) obligatorisch sind, sodass Sie sie beim Aufrufen des Programms als Argumente angeben müssen, auch wenn keine Flags oder andere Argumente vorhanden sind.
Hier ist eine vereinfachte Version dessen, was ich mit den Argumenten mit Flags anfangen muss:
while ((c = getopt(argc, argv, "i:d:btw:h:s:")) != -1) {
switch (c) {
case 'i': {
i = (int)atol(optarg);
}
case 'd': {
d = (int)atol(optarg);
}
case 'b':
buf = 1;
break;
case 't':
time = 1;
break;
case 'w':
w = (int)atol(optarg);
break;
case 'h':
h = (int)atol(optarg);
break;
case 's':
s = (int)atol(optarg);
break;
default:
break;
}
}
Wie bearbeite ich das, damit auch Nichtoptionsargumente behandelt werden?
Ich möchte auch in der Lage sein, die Nichtwahlen entweder vorher zu habenoder Wie würde das nach den Optionen gehandhabt werden?