Guten Tag, ich würde gerne ein Array in mehrere kleine Array aufteilen. Ich lese das ganze jedoch aus einem Text-Dokument ein. Weiß jemand wie das genau geht? Im Textdokument stehen 4 Zeilen: 0x99A 9 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0x99 99 Und ich möchte erreichen, dass jede Zeile in einem eigenen Array gespeichert wird. Ist das möglich? Momentan wird alles in einem Array, dem buffer, gespeichert. int main() { FILE *fp = fopen("/local/mytext.txt","r"); } char buffer[128]; while(fgets(buffer, 128, fp)) { pc.printf("%s", buffer); } Vielen Dank für die Hilfe.
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.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.