Ich bin ein Neuling in C-Programmierung, habe ich einige Erfahrungen über C++, aber nichts mit C. Ich habe eine Frage über getopt optarg Argument, das ist Zeichenfolge. Ich möchte überprüfen, ob das Eingabeargument von -x Flag gleich "Hund" ist. Mein aktueller Code wie folgt aussieht:Optarg Zeichenfolge vergleichen C
int main(int argc, char** argv){
int c;
extern char *optarg;
extern int optind;
extern int optopt;
int sum=0;
while ((c = getopt(argc, argv, ":x:h")) != -1) {
switch (c) {
case 'h': getHelp();
break;
case 'x': if(strcmp("dog", optarg)== 0){
sum = 1;
} else {
sum = 0;
}
break;
}
}
Verdichtete, ich möchte prüfen, ob Eingangsgröße für -x Hund ist oder nicht (wenn ja, wird die Variable Summe auf 0 ändert). In meinem Fall ist die Summenvariable immer 0, obwohl die Eingabe './main -x Hund' ist. Vielen Dank im Voraus!
ich zusammengestellt und versucht, Ihren Code und ich einen siehe Summenwert als 1 für die Eingabe für Hund und Wert als 0 für Katzen Eingang. –