- #1
M
moniduse
Guest
ich soll ein programm schreiben, das eine textdatei einliest und statistisch auswertet.
hier mal der teil der aufgabe, bei dem ich nich weiter weiß:
3. 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.
Die genaue Vorgehensweise kann der Datei fileread.h entnommen werden.
----
erste versuche ergaben folgendes:
#include
#include
#include
int main (void)
{
char *zeile;
zeile = (char*) calloc (25, sizeof(char));
do {
getFileLine(testtext, zeile, 100);
puts(zeile);
printf(\n%c\n, zeile[0]);
} while (zeile != NULL);
getchar();
free (zeile);
return 0;
}
-----
irgendwie haut das alles gar nicht hin. ich hab kein plan.
hier mal der teil der aufgabe, bei dem ich nich weiter weiß:
3. 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.
Die genaue Vorgehensweise kann der Datei fileread.h entnommen werden.
----
erste versuche ergaben folgendes:
#include
#include
#include
int main (void)
{
char *zeile;
zeile = (char*) calloc (25, sizeof(char));
do {
getFileLine(testtext, zeile, 100);
puts(zeile);
printf(\n%c\n, zeile[0]);
} while (zeile != NULL);
getchar();
free (zeile);
return 0;
}
-----
irgendwie haut das alles gar nicht hin. ich hab kein plan.