den folgenden Code vor:c optarg atoi ohne args
int number;
while((w = getopt(argc, argv, "n:s:")) != -1) {
switch (w){
case 'n': {
opfile->filename = optarg;
}break;
case 's': {
number = atoi(optarg);
}break;
}
}
Nun, wenn ich beide Optionen lassen oder die Option s
leer, zum Beispiel ich mein Programm ohne Kommandozeile args beginnen, dann ist die number
Variable erhält immer noch einen zufälligen Wert.
Was fehlt mir hier? Einige if-Anweisungen für den Fall s
? Insbesondere möchte ich den Fall behandeln, in dem der Benutzer s
in den Befehlszeilenargumenten keinen bestimmten Wert/keine spezifische Option zuweist.
+1 Und es nur eine Notiz zu OP, die Tatsache, dass es nur ist eine Zufallsvariable geben macht Schwer zu wissen, dass ein Programm auf anderen Systemen (oder sogar auf dem gleichen System) abstürzen könnte. UB kann ein Schmerz sein. – RastaJedi