hier mal der teil der aufgabe, bei dem ich nich weiter weiß:
Einlesen der Textdatei und Abspeicherung der einzelnen Textzeilen der Datei.
• Die Verwaltung der eingelesenen Zeilen erfolgt über ein Feld mit 'Zeiger auf char'-Elementen.
• Die eigentlichen Stringvariablen (char-Felder) für die einzelnen Zeilen sind zur Laufzeit des
Programms mit malloc oder calloc dynamisch zu erzeugen. Diese dynamischen Strings dürfen
nur die für die jeweilige Zeile benötigte Größe strlen(..)+1 haben.
• Das Lesen von jeweils einer Zeile aus der Textdatei erfolgt mit dem gelieferten
Unterprogramm GetFileLine, das sich in der Programm-Bibliothek fileread.h/cpp
befindet.
char* GetFileLine( char* PtrFileName, char*PtrTextBuf, int TextBufSize );
Die Funktion liefert bei jedem Aufruf eine Zeile der Textdatei. Als Rückgabewert wird ein
Zeiger auf das erste Zeichen der Textzeile, bzw. bei Öffnungsfehler oder Dateiende die
Konstante NULL geliefert.
hier mal so in etwa was ich bisher habe. funktioniert aber nicht so richtig.
Einlesen der Textdatei und Abspeicherung der einzelnen Textzeilen der Datei.
• Die Verwaltung der eingelesenen Zeilen erfolgt über ein Feld mit 'Zeiger auf char'-Elementen.
• Die eigentlichen Stringvariablen (char-Felder) für die einzelnen Zeilen sind zur Laufzeit des
Programms mit malloc oder calloc dynamisch zu erzeugen. Diese dynamischen Strings dürfen
nur die für die jeweilige Zeile benötigte Größe strlen(..)+1 haben.
• Das Lesen von jeweils einer Zeile aus der Textdatei erfolgt mit dem gelieferten
Unterprogramm GetFileLine, das sich in der Programm-Bibliothek fileread.h/cpp
befindet.
char* GetFileLine( char* PtrFileName, char*PtrTextBuf, int TextBufSize );
Die Funktion liefert bei jedem Aufruf eine Zeile der Textdatei. Als Rückgabewert wird ein
Zeiger auf das erste Zeichen der Textzeile, bzw. bei Öffnungsfehler oder Dateiende die
Konstante NULL geliefert.
hier mal so in etwa was ich bisher habe. funktioniert aber nicht so richtig.
Code:
#include <stdio.h>
#include <f:\textanalyse\fileread.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
/*char filename (int* ende, char* eingabe);
char read (char* zeigerfeld[26], char* file[81]);*/
int main (void) {
int progende=0;
char* zeigerfeld[26];
do {
/* char filename; */
/* filename (&progende, &filename);*/
printf("[e=Ende, Return=TESTTEXT] : ");
char eingabe[81];
gets(eingabe);
puts(eingabe);
/* int* ende; */
if (eingabe=="e") progende=1;
else if (eingabe=="\n") strcpy(eingabe, "testtext");
if (progende==0) {
/* read (&zfeld, filename);*/
/* char* zeigerfeld[26];*/
/* char* file;*/
int j=0;
for (j; j<=26; j++) zeigerfeld[j] = NULL;
int i=0, k=0;
char textbuffer[81];
do {
getFileLine("testtext", textbuffer, 81);
if (NULL == textbuffer) i=1;
puts(textbuffer);
zeigerfeld[k] = (char*) calloc (strlen(textbuffer)+1, sizeof (char));
strcpy (zeigerfeld[i], textbuffer);
k++;
} while (i==0);
} else /* leer */;
} while(progende==0);
/* getchar(); */
return 0;
}