Eine Datei bis zum Ende auslesen

keydo

Grünschnabel
Es wird eine Datei geöffnet und der Stream ausgelesen, Problem ist nur das es nicht bis zum Dateiende durchläuft. Wie kann ich nun in ner Schleife den Stream bis zum EOF durchlaufen lassen?


int i;
double y;

FILE *f = fopen("foo.txt", "r");

// schleifenanfang
fscanf(f, "%i&f", &i, &y);

funktion_a(i):
funktion_b(y)

// Schleifenende - Dateiende erreicht

fclose(f);

Kann mir wer irgendwie helfen?
 
Zuletzt bearbeitet:
Ich würde das ganze lösen in dem ich die datei zeilenweise auslese und in einem zwei dimensionalen array speicher, also so:
C++:
FILE *file
char text[50][500]
int i =0;

file = fopen(".\\dein.txt", "r");
i=0;
while(fgets(text[i], 500, file)){
    i++
}
fclose(file);
Da fgets 0 zurückgibt wenn das Datei ende erreicht wird müsste das gehen. Allerdings habe ich noch nicht besonders viel mit 2dimensionalen arrays gemacht und weiß daher nicht genau, ob ich das im fgets richtig gemacht habe.
 
Zuletzt bearbeitet von einem Moderator:
Zurück