Wörter von Textdateien zählen
-
Hallo, wie kann ich die Wörter einer Textdatei zählen (dabei möchte ich die Leerzeichen jeder Zeile zählen und dann immer draufaddieren).
Folgende Methode zum Zählen der Leerzeichen (Wörter) hab ich probiert, funktioniert jedoch nicht (zählt alle Zeichen, nicht nur die Leerzeichen):
int woerter(char* dateiname) { { FILE* datei; char line[100]; int counter=0; datei = fopen( dateiname,"r"); if(datei != NULL) { while ( fgets(line, 100, datei) != NULL) { for (int c = 0; c < strlen(line); c++) { if (line[c] == ' '); counter++; } } } else { printf(" Datei kann nicht geoeffnet werden.\n"); } fclose(datei); return counter; }
Wäre nett, wenn ihr mir helfen könntet.
Grüße,
Infostudent.
-
Das Semikolon hinter dem if muss weg
-
Man frage ja keine Studenten, warum sie was tun... aber trotzdem:
Warum eigentlich die Pufferung in line[]? Ist es nicht so eleganter:FILE *datei = stdin; int counter = 0, c; while ((c = getc(datei)) != EOF) if (c == ' ') counter++;
-
wie geil, O(zeilenlaenge^2)...
ein glueck dass zeilen in den puffer passen muessen!