Praktikum Programmiersprache C - Textdateien


Schreiben Sie ein C-Programm woerter.c, das aus einer Datei unter Benutzung der Funktion fgets Textzeilen einliest, und diese unter Verwendung der Funktion puts auf der Standardausgabe ausgibt. Der Dateiname soll über die Kommandozeile eingegeben werden. Die Textzeilen sollen maximal 128 Zeichen lang sein. Von der Shell läßt sich das Programm aufrufen unter

  woerter irrtum.txt | more
 , dabei wird die Eingabe aus der Datei irrtum.txt gelesen. Über die Pipe | more wird jeweils nach einer Bildschirmseite angehalten. Erweitern Sie dieses Programm, um einen Mechanismus, der die Menge der Wörter gleicher Längen (der Längen 1 bis 10) zählt und folgende Ausgabe erzeugt: 
Woerter der Laenge:
1: 3 gefunden
2: 12 gefunden
3: 46 gefunden
. . .
10: 4 gefunden
11: sonstige Woerter

Es gebe keine Wörter, die über eine Zeile hinausgehen oder abgetrennt sind.

Zur Implementierung ist es günstig, ein Array von  11 Int-werten zu definieren. Hat man die Länge eines Wortes bestimmt, so verwendet man die Länge, so sie nicht größer als 10 ist, als Index in dieses Array und incrementiert den darin enthaltenen Zähler. Im Eintrag [0] kann man die restlichen (längeren) Wörter zählen.
Zur Bestimmung der Wortlängen kann die Verwendung der Funktion strtok hilfreich sein. Ausführliche Informationen dazu findet man unter man strtok.


Beispieldateien sind zu finden im Downloadverzeichnis

A. Beck