PoiZz3n
Cadet 2nd Year
- Registriert
- Sep. 2014
- Beiträge
- 20
Guten Abend,
ich sitze gerade an einer Progammieraufgabe für die Uni und stehe vor folgendem Problem:
Mein Programm soll einen "Benchmark-Modus" enthalten, der beim Aufruf über die Kommandozeile mit dem Parameter "-b" gesteuert werden soll. Es soll optional ein Integer als Argument angegeben werden. Das ganze ist bisher so implementiert:
Wenn -b ohne Argument angeben ist, soll reps auf 10 gesetzt werden, ansonsten eben auf den Wert der übergeben wurde.
Das Problem ist jedoch, dass wenn ich das ganze auf meinem Mac kompiliere und ausführe, nur eine Eingabe mit Argument funktioniert und wenn der Aufruf ohne Argument stattfindet wird folgender Fehler ausgegeben: "./ProgrammName: option requires an argument -- b".
Ich habe das ganze dann mal auf einer Kali-VM laufen lassen und dort hat das ganze wie gewollt funktioniert. Das passt nun soweit, da das Programm primär unter Linux lauffähig sein muss, jedoch würde mich trotzdem interessieren was das Problem ist, wenn ich es auf dem Mac versuche.
Liebe Grüße
ich sitze gerade an einer Progammieraufgabe für die Uni und stehe vor folgendem Problem:
Mein Programm soll einen "Benchmark-Modus" enthalten, der beim Aufruf über die Kommandozeile mit dem Parameter "-b" gesteuert werden soll. Es soll optional ein Integer als Argument angegeben werden. Das ganze ist bisher so implementiert:
C:
while ((option = getopt(argc, argv, "k:x:b::")) != -1)
{
switch (option)
{
case 'x':
x = atof(optarg);
break;
case 'k':
k = atof(optarg);
break;
case 'b':
benchmarkOn = true;
if (optarg == NULL)
{
reps = 10;
}
else
{
reps = atof(optarg);
}
break;
default:
printf("Syntax: [-x] <float> [-k] <int>");
printf("\n");
exit(EXIT_FAILURE);
}
}
Wenn -b ohne Argument angeben ist, soll reps auf 10 gesetzt werden, ansonsten eben auf den Wert der übergeben wurde.
Das Problem ist jedoch, dass wenn ich das ganze auf meinem Mac kompiliere und ausführe, nur eine Eingabe mit Argument funktioniert und wenn der Aufruf ohne Argument stattfindet wird folgender Fehler ausgegeben: "./ProgrammName: option requires an argument -- b".
Ich habe das ganze dann mal auf einer Kali-VM laufen lassen und dort hat das ganze wie gewollt funktioniert. Das passt nun soweit, da das Programm primär unter Linux lauffähig sein muss, jedoch würde mich trotzdem interessieren was das Problem ist, wenn ich es auf dem Mac versuche.
Liebe Grüße