Suche und Ausgabe aus Textdatei
-
Hey Leute!
Seh mich folgender Aufgabe gegenüber und habe absolut keine Ahnung wie ich das machen soll. Hätte jmd evt einen Lösungsvorschlag?
In einer Datei haben Sie die Telefonnummern ihrer Freunde und Bekannte in der Form:
telefonnr.txt
Albrecht Duerer 05111528456
Lukas Cranach 051091553
Nikolaus Kopernicus 05111543285
Martin Luther 0141546629
Ph i l l i p Melanchthon 014971560998
Johann Reuchlin 05111522765
. . .
abgelegt. Schreiben Sie ein Programm, das zu einer eingegebenen Person (Nachname) die
zugehörige Telefonnummer in der Datei sucht und ausgibt! Erstellen Sie zu Testzwecken eine
Datei mit mindestens 20 Einträgen!
Hinweis: Informieren Sie sich über den Datentyp FILE und die Funktionen fopen, fscanf, feof
und fclose.Über die jeweiligen Funktionen habe ich mich informiert, kann sie jedoch nicht anwenden. Ich weiss nicht wie man in einer Textdatei einträge suchen kann und diese dann ausgibt. Kann mir jmd helfen?
Danke im Vorraus :xmas2:
-
Ich weiss nicht wie man in einer Textdatei einträge suchen kann und diese dann ausgibt.
Gar nicht. Du kannst nur einlesen und dann nachsehen, was angekommen ist.
Ph i l l i p Melanchthon 014971560998
...
Hinweis: Informieren Sie sich über den Datentyp FILE und die Funktionen fopen, fscanf, feof
und fclose.Oje, da sind schrecklich viele Leerzeichen. Ich würde mich lieber über fgets() und strtok() informieren, und aus jeder Zeile den letzten Token mit dem Suchwert vergleichen.
-
Könntest du mir evt ne Lsg in Form eines Quelltextes geben?
Hab damit nämlich echt Probleme.Danke :xmas1:
-
Sixty69 schrieb:
Könntest du mir evt ne Lsg in Form eines Quelltextes geben?
Hab damit nämlich echt Probleme.Danke :xmas1:
Pseudo Code?
Solange Zeilen vorhanden:
Zeile in einen Puffer einlesen, das Ende der Zeile suchen.
( Ein Zeilenende ist mit dem '\n' Zeichen(newline) abgeschlossen, findest du mit *p = strrchr(Puffer,'\n')).
Vom letzten Zeichen beginnend rückwärts jedes Zeichen prüfen und die Leerzeichen zählen. Beim zweiten Leerzeichen mit scanf den Nachnamen einlesen.
Wenn es der gesuchte Nachname ist, mit scanf die Nummer einlesen.Gruß,
B.B.