Zeile aus Datei einlesen, manipulieren und ausgeben
-
Hallo,
bin ein blutiger Anfänger
und versuche gerade mit C eine Quelldatei zeilenweise mit fgets in ein array (zeile[MAX]) einzulesen und nur bestimmte Anteile in eine Zieldatei mit fputs zu schreiben.
Die Quelldatei sieht wie folgt aus:
1245 0800 0085 0090 ,.-klö
ab05 0801 0086 0091 156465
...In der Zieldatei soll aber lediglich folgendes landen:
0800 0085 0090
0801 0086 0091
...Wie geht so etwas
?? Habe mich jetzt durch Pointer und strcmp usw durchgelesen, aber mir ist irgendwie noch kein Licht aufgegangen. Könnt Ihr mir helfen und evtl. auch ganz kurz den Code erklären, damit dabei was lerne und es auch weiter verwenden kann ?
Vielen Dank dafür jetzt schon !
-
ist aus dem Tutorial von NeHe ;):
void readstr(FILE *f,char *string) // Read In A String { do // Start A Loop { fgets(string, 255, f); // Read One Line } while ((string[0] == '/') || (string[0] == '\n')); // See If It Is Worthy Of Processing return; // Jump Back } ... int numtriangles; // Number Of Triangles In Sector char oneline[255]; // String To Store Data In ... readstr(filein,oneline); // Get Single Line Of Data sscanf(oneline, "NUMPOLLIES %d\n", &numtriangles); // Read In Number Of Triangles
könnte mir vorstellen das es auch so gehen würde:
sscanf(oneline, "%s %s %s %s", &string1, &sting2, &string3, &string4);
-
mit sprintf bekommst du alles wieder in einen Zeile:
etwa so (welche parameter genau erwartet werden musst du in der doku nachlesen)char Buffer[BUFFER_SIZE]; sprintf(&Buffer, "%s %s %s", string1, string2, string4);