Dateien auslesen

RooKee

Grünschnabel
Hi Leude,

ich hab da ein Problem und zwar will ich wissen wieviel zeichen in einer Datei drine stehen... ich habe es mit strlen probiert ging aber nicht...

Bin so weit:

FILE *datei;

datei = fopen("C://test.txt","r");

und nu? gibts ne Funktion die das macht oder woher erfahre ich wieviel Zeichen in der Datei stehen?

Danke im Vorraus
 
Du könntest zwar auch die Größe per Verzeichnis-Befehl auslesen, aber das hier geht auch:

Code:
FILE *datei;
unsigned long int zeichen=0;

datei = fopen("C://test.txt","r");


while (!feof(datei)){
   fgetc(datei);
   ++zeichen;
}

[Nachtrag]
Um nur Buchstaben und Zahlen als Zeichen zu zählen kannst du den Rückgabewert von fgetc mit einer ASCII Tabelle vergleichen und nur bei korrektem Zeichen die Anzahl erhöhen.
 
Zuletzt bearbeitet:
Mit fseek kannst du zum Dateiende springen, als Rückgabewert erhältst du
die aktuelle Position, was der Anzahl der Zeichen entspricht. Allerdings
hast du damit auch sämtlich Carriage-Returns und so dabei.

Code:
int anzahl;
...
anzahl = fseek( datei, 0, SEEK_END );
 
Zurück