root1992
von IT-Lehrern besessen
Hallo,
ich habe mir gestern ein Programm (C) programmiert, dass sollte eine Textdatei einlesen und man kann einen Feldtrenner eingeben, z.B. TAB und die Felderanzahl, die er ausgibt.
Aus
macht er z.B.
Das funktioniert.
Die Textdatei wird ein einen 2D Array gespeichert. ausgabe[Zeile][Buchstabe]. Die zwei Werte Zeile,Buchstabe werden als Positionsparameter übergeben, sowie der Name der Datei und die Anzahl der Felder und der Trenner.
Das funktioniert. Ich habe auch ein sh geschrieben, bei dem man nur Name der Datei, Anzahl der Felder und Feldtrenner übergeben muss. Den rest macht eine subshell mit wc -l bzw wc -L.
Aber ich habe eine Textdatei getestet mit 200.000 Zeilen. Bringt er mir einen Speicherzugriffsfehler. Dann bin ich immer weiter runter gegangen. Mit 186331 Zeilen funktionert es bei mir noch. Ein installscript hänge ich an.
Meine Frage: Woran könnte es liegen, dass er bei mehr als 186331 Zeilen einen Fehler bringt.
P.S.: Die Datei ist die INSTALL.sh.txt, das txt sollte entfernt werden, dann ist es ein gewöhnliches sh, dass das C-Programm und das SH erstellt.
ich habe mir gestern ein Programm (C) programmiert, dass sollte eine Textdatei einlesen und man kann einen Feldtrenner eingeben, z.B. TAB und die Felderanzahl, die er ausgibt.
Aus
Code:
Feld 1\tFeld 2\tFeld 3\n
Feld 4\tFeld 5\n
macht er z.B.
Code:
Feld 1\tFeld 2\n
Feld 4\tFeld 5\n
Das funktioniert.
Die Textdatei wird ein einen 2D Array gespeichert. ausgabe[Zeile][Buchstabe]. Die zwei Werte Zeile,Buchstabe werden als Positionsparameter übergeben, sowie der Name der Datei und die Anzahl der Felder und der Trenner.
Das funktioniert. Ich habe auch ein sh geschrieben, bei dem man nur Name der Datei, Anzahl der Felder und Feldtrenner übergeben muss. Den rest macht eine subshell mit wc -l bzw wc -L.
Aber ich habe eine Textdatei getestet mit 200.000 Zeilen. Bringt er mir einen Speicherzugriffsfehler. Dann bin ich immer weiter runter gegangen. Mit 186331 Zeilen funktionert es bei mir noch. Ein installscript hänge ich an.
Meine Frage: Woran könnte es liegen, dass er bei mehr als 186331 Zeilen einen Fehler bringt.
P.S.: Die Datei ist die INSTALL.sh.txt, das txt sollte entfernt werden, dann ist es ein gewöhnliches sh, dass das C-Programm und das SH erstellt.