Hallo Forum,
vorab als Info: Ich arbeite unter Linux und compiliere mit gcc.
Nun zu meinem Problem:
Ich möchte eine Funktion schreiben, die eine bestimmte Anzahl von Zeilen zeilenweise aus einer Textdatei liest. Diese Zeilen möchte ich dann im Hauptprogramm einzeln ausgeben können.
Mein Ansatz für die Funktion war:
- ein Array von Stings anlegen (string[10])
- zeichenweise aus der Datei lesen (zeichen=fgetc(lesezeiger); )
- wenn zeichen=='\n', ein Arrayelement weiter springen (strcat(string[ i ],'\0'; i++; )
- wenn zeichen!='\n', zeichen an Arrayelement anhängen (strcat(string[ i ],zeichen); )
- wenn zeichen==EOF dann Ende
Hier hab ich Probleme mit der Funktion strcat(), denn die verlangt als zweites Argument einen String und kein char. Wie kann ich das Problem lösen bzw. gibts für dieses Zeilenweise lesen aus der Datei einen einfacheren Weg?
Das Zweite Problem besteht darin, wie ich im Hauptprogramm diese Zeilen nach Belieben ausgeben kann.
z.B.
Vielen Dank schon im Voraus, für Eure Hilfe.
vorab als Info: Ich arbeite unter Linux und compiliere mit gcc.
Nun zu meinem Problem:
Ich möchte eine Funktion schreiben, die eine bestimmte Anzahl von Zeilen zeilenweise aus einer Textdatei liest. Diese Zeilen möchte ich dann im Hauptprogramm einzeln ausgeben können.
Mein Ansatz für die Funktion war:
- ein Array von Stings anlegen (string[10])
- zeichenweise aus der Datei lesen (zeichen=fgetc(lesezeiger); )
- wenn zeichen=='\n', ein Arrayelement weiter springen (strcat(string[ i ],'\0'; i++; )
- wenn zeichen!='\n', zeichen an Arrayelement anhängen (strcat(string[ i ],zeichen); )
- wenn zeichen==EOF dann Ende
Hier hab ich Probleme mit der Funktion strcat(), denn die verlangt als zweites Argument einen String und kein char. Wie kann ich das Problem lösen bzw. gibts für dieses Zeilenweise lesen aus der Datei einen einfacheren Weg?
Das Zweite Problem besteht darin, wie ich im Hauptprogramm diese Zeilen nach Belieben ausgeben kann.
z.B.
Code:
printf("%s\n",String[3]);
printf("%s\n",String[7]);
Vielen Dank schon im Voraus, für Eure Hilfe.