001
16.12.2005, 16:39 Uhr
virtual
Sexiest Bit alive (Operator)
|
Prinzipiell geht das, man darf nur nichts falsch machen. Eigentlich hast Du in C zwei Möglichkeiten:
1. Die Datei Stückweise einlesen und dann entsprechend auch das Array immer weiter vergrößern (übrigens mit realloc, und du darfst nicht nicht gleichen Fehler machen, wie in deinem Pseudocode oben - siehst Du ihn?). funktioniert immer.
2. Die größe der Datei bestimmen, dann Speicher einmal belegen und anschließend dann komplett einlesen. Das funktioniert aber nicht immer. Zum einen gibt es Dateien, deren Größe man nicht bestimmen kann (stdin zB in der Regel nicht), Zum anderen funktionieren die auf ANSI C Basierenden Lösungen nur für Binär geöffnete Dateien.
Also: nimm 1. Lösung. Ist schwerer, man lernt mehr bei. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |