n1smo
Mitglied
Hi, es gibt zwar schon etliche Beiträge zudem Thema hab aber leider nichts passendes gefunden was mir weiterhelfen könnte.
Ich hab folgendes Problem.
Ich hab ne Datei in der Zahlen wie folgt drin stehen könnten, als Beispiel:
2,394,34,95553,233949586
29,595,4353
3450,534,2,4,67,6,7,8,9
Also alles variabel, die Zahlen selber, die Zahlen pro Zeile als auch die Anzahl der Zeilen.
Ich such jetzt einen gescheiten weg diese Zahlen einzulesen.
Das Programm soll alle Zahlen durchgehen und die grösste in einer Variabel speichern.
Der einzige Weg der mir einfällt dies zu machen ist sich jedes Zeichen einzeln per fgetc zu holen, die vorher gespeicherte Zahl mit 10 zu multiplizieren und die aktuell eingelesene zu addieren. So ungefähr:
int nummer, c;
while( (c=fgetc(datei)) != EOF)
if (c>='0' && c<='9'){
nummer=nummer*10 + c;
}
Das ganze wird halt immer so lange gemacht bis ein komma bzw new line zeichen kommt.
Ist natürlich alles andere als elegant die Methode, daher wollt ich mich mal informieren wie eine bessere implementierung aussehen könnte.
Ich hab folgendes Problem.
Ich hab ne Datei in der Zahlen wie folgt drin stehen könnten, als Beispiel:
2,394,34,95553,233949586
29,595,4353
3450,534,2,4,67,6,7,8,9
Also alles variabel, die Zahlen selber, die Zahlen pro Zeile als auch die Anzahl der Zeilen.
Ich such jetzt einen gescheiten weg diese Zahlen einzulesen.
Das Programm soll alle Zahlen durchgehen und die grösste in einer Variabel speichern.
Der einzige Weg der mir einfällt dies zu machen ist sich jedes Zeichen einzeln per fgetc zu holen, die vorher gespeicherte Zahl mit 10 zu multiplizieren und die aktuell eingelesene zu addieren. So ungefähr:
int nummer, c;
while( (c=fgetc(datei)) != EOF)
if (c>='0' && c<='9'){
nummer=nummer*10 + c;
}
Das ganze wird halt immer so lange gemacht bis ein komma bzw new line zeichen kommt.
Ist natürlich alles andere als elegant die Methode, daher wollt ich mich mal informieren wie eine bessere implementierung aussehen könnte.