Jim Street schrieb:
> Und ich möchte erreichen, dass jede Zeile in einem eigenen Array
> gespeichert wird. Ist das möglich?
Natürlich ist das möglich. Warum auch nicht.
> Momentan wird alles in einem Array, dem buffer, gespeichert.
Momentan wird bei dir immer nur die zuletzt gelesene Zeile der Textdatei
gespeichert. Großer Unterschied!
> while(fgets(buffer, 128, fp)) {
fgets liefert genau die nächste Zeile aus dem File.
Was du dann mit der Zeile machst, ist deine Sache. Du kannst sie, so wie
hier ausgeben und dann verwerfen, oder aber du kannst dir natürlich
viele Arrays anlegen und bei jedem fgets ein anderes zum Lesen benutzen.
Wenn du weisst, dass es sich immer um 4 Zeilen handelt, dann kannst du
im einfachsten Fall
1 | char Zeile1[256];
|
2 | char Zeile2[256];
|
3 | char Zeile3[256];
|
4 | char Zeile4[256];
|
5 |
|
6 | ....
|
7 |
|
8 | fgets( Zeile1, sizeof(Zeile1), fp );
|
9 | fgets( Zeile2, sizeof(Zeile2), fp );
|
10 | fgets( Zeile3, sizeof(Zeile3), fp );
|
11 | fgets( Zeile4, sizeof(Zeile4), fp );
|
12 | ...
|
nicht schön, und auch nicht elegant, aber was solls.
du kannst auch ein 2 dimensionales Array benutzen oder du kannst
dynamisch Speicher für jede Zeile allokieren, oder ...... was du machst
ist nur durch deine Fähigkeiten begrenzt.
fgets liest die jeweils nächste Zeile in den bereit gestellten Buffer.
Alles weitere, was du als buffer benutzt oder ob und wie du den
buffer-Inhalt weiter bearbeitest, ist dein Bier.