Ich habe ein Programm, das ein einzelnes Argument von der Befehlszeile einliest und bestimmte Operationen an ihm ausführt. Ich benutze argv und argc. Wenn ich kein Argument an das Programm weitergebe, segmentiert es. Ich habe versucht, zu überprüfen, ob argc nicht ein bestimmter Wert ist und dann den Wert ausdruckt, aber es immer noch segfaults. Hier ist der Code in Frage. Beachten Sie, dass es wie erwartet funktioniert, wenn Sie ein einzelnes Argument übergeben. Hier ist der Code in Frage:Segmentation Fault mit Argv
int main(int argc, char *argv[])
{
int numTimes = atoi(argv[1]); //converts content of argv[1] into integer
if(argc != 2)
{
printf("Enter a valid integer.");
}
'std :: vector Argumente (argv, argv + argc);' –
@MooingDuck: Ich sehe nicht, wie dies das Problem löst. –
@larsmans: Es macht alles einfacher, und (für einige Implementierungen) verhindert UB und könnte seinen Fehler offensichtlich und leicht zu finden gemacht haben. –