Skip to content

Karten Parsing

Gregor Gottschewski edited this page Feb 22, 2025 · 2 revisions

Karten-Parsing

Für das Karten-Parsing wird ein leeres DICTIONARY erstellt und die Karte geöffnet. Am Ende des Parsing-Prozesses wird das gefüllte DCITIONARY ausgegeben.

Die Karten-Datei wird Zeichen für Zeichen gelesen. Sobald ein Komma gefunden wird, wird anhand der Spaltennummer (1 bis 3) der jeweilige Wert vor dem Komma korrekt im DICTIONARY gespeichert.

Beispiel für Stuttgart, Karlsruhe, 250: Erster String bis zum ersten Komma ist die Startstadt, zweiter String nach dem ersten Komma ist die Zielstadt und der Wert von dem zweiten Komma bis zum Zeilenende ist die Entfernung.

Mit jeder neuen Zeile in der Datei wird Speicher für eine Startstadt und eine Zeilstadt allokiert. Der Pointer auf diese Städte wird am Ende der Zeile dem DICTIONARY übergeben.

Die Zeichen vor einem Komma werden in einem char-Feld gespeichert, das dynamisch zur Laufzeit vergrößert wird. Zur Steigerung der Effizienz wird mit einem 32-Bit großen Buffer gearbeitet, der zur Laufzeit - wenn benötigt - vergrößert wird. Leere Zeilen und Leerzeichen vor Städtenamen werden ignoriert.

Auftretende Fehler werden über den stderr-Kanal ausgegeben.

Clone this wiki locally