Wörter zählen
-
Hi,
ich habe ein kleines problem.Ich will ein programm mit C schreiben,das wörter in einem text zählt.Können Sie mir helfen bitte?
-
Bestimmt.
-
dann los,ich brauche es
-
Wo ist denn dein konkretes Problem?
Du musst für dich erstmal defienieren was ein Wort in einer Textdatei ist (irgendwelche Zeichen zw. Leerzeichen? Oder irgendwelche Zeichen mit nachfolgendem Leerzeichen?).
Naja, dann kannst du entweder zeichenweise oder Zeilenweise einlesen...
...
-
ich habe das alles gemacht und geschrieben aber das funkt. net.hast du ein schon geschriebenen?
-
Kann man so machen:
#include <stdio.h> #include <ctype.h> int main( int argc, char **argv ) { FILE *fp; int c, im_wort=0, w_count=0; if( (fp=fopen(argv[1], "r")) == NULL ) return -1; while( (c=fgetc(fp)) != EOF ) { if( !isblank(c) && (c!='\n') ) { if (im_wort == 0) { ++w_count; im_wort = 1; } } else im_wort = 0; } printf("%d\n", w_count); return 0; }
Ich hatte das Programm zum Glück noch hier rumfliegen ;). Die Ausgabe sollte einem "wc -w" unter Linux entsprechen.
tankard
-
wie jetzt?
-
Das ist ein vollständiges Programm und sollte sich übersetzen lassen.
Also erst Programm übersetzen, dann auf einer Shell/Eingabeaufforderung mit
"Programmname irgendwas.txt" aufrufen. Das Ergebnis sollte eine Zahl sein, die der Anzahl von Wörtern in der Textatei entspricht (die Namen natürlich entsprechend anpassen).tankard