Ich versuche, Argumente über die Befehlszeile an int
mit atoi
übergeben konvertieren, aber es dauert ewig, egal ob die Zeichenfolge klein oder groß ist. Irgendwelche Ideen?Warum erscheinen die Ergebnisse von atoi() nicht in der Ausgabe meines Programms?
int main(int argc, char *argv[]) {
int id;
int v[5];
id=atoi(argv[2]);
v[0]=atoi(argv[3]);
v[1]=atoi(argv[4]);
v[2]=atoi(argv[5]);
v[3]=atoi(argv[6]);
v[4]=atoi(argv[7]);
//conversion must be taking forever; this is never printed
printf("%d %d %d %d %d %d", id,v[0],v[1],v[2],v[3],v[4]);
return 0;
}
Überprüfen Sie 'argc'? Was ist "v"? Bitte posten Sie ein ** vollständiges ** minimales Beispiel. – gsamaras
Übrigens wissen Sie, dass die Ausgabe nach "stdout" standardmäßig * line buffered * ist, d. H. Nichts wird gedruckt, bis Sie einen Zeilenumbruch drucken. Beenden Sie Ihre Ausdrucke immer mit einem Zeilenumbruch. –
Was auch immer passiert, es ist unwahrscheinlich, dass "atoi() ewig dauert" ist eine gute Beschreibung des Problems. 'atoi()' ist eine sehr schnelle Funktion. –