problem mit strings aus textdatei in feld kopieren...

  • #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.
 
  • #2
moniduse schrieb:
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.
----

hab das jetzt soweit bekommen:

int main (void)
{

char *zeile[25];
char *string;
int i=0;

do {
char textbuf[81];
getFileLine(testtext, textbuf, 81);
int size;
size=strlen(textbuf);
string = (char*) malloc (size);
string=textbuf;
zeile=string;
printf(%d, size); /* testanzeige der stringlänge */
puts(string);
i++;
} while (zeile != NULL);

getchar();
free (string);
return 0;
}

---------------

nur warum wiederholt sich der text am ende? sollte doch bei EOF schluss sein.

-----

irgendwie haut das alles gar nicht hin. ich hab kein plan.
 
Thema:

problem mit strings aus textdatei in feld kopieren...

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben