Einlesen verschiedener Strings aus Text-Datei

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

sleezi1337

Grünschnabel
Hallo liebe Community,

ich habe die Variablen aus meines Programms mittels fprintf in eine .txt-Datei geschrieben (s. Bild 1). Die Variablen wurden hierbei mittels "~" getrennt. Und sobald ein neuer Eintrag eingespeichert wird, entsteht ein Zeilenumbruch "\n".

Bild 1:
1598379776902.png

Nun stehe ich vor dem Problem, dass ich die Daten bei Programmstart wieder einlesen möchte. Hierbei stehe ich jedoch total auf dem Schlauch und weiß nicht wie ich weitermachen soll.
In der .txt-Datei habe ich alle Variablen für alle Einträge eingefügt. Sollte eine Variable nicht vergeben sein, ist diese mittels "0" (Integer) oder "null" (Strings / Char) deklariert. Der Aufbau der "Datenbank" lässt sich in Bild 2 erkennen.

Bild 2:
1598380171193.png

Hatte jemand von euch schon mal ein ähnliches Vorhaben oder ist der Aufbau meiner Textdatei allgemein schlecht gewählt?
Ich würde mich sehr über eure Ideen und Verbesserungsvorschläge bzgl. der Umsetzung freuen. Mein Ansatz wäre jetzt über "fgets" zu gehen. Hierbei ist mein Latein jedoch auch sehr schnell zuende.

Viele Grüße
 
Schnelle Antwort auf eine deiner Fragen:
Hatte jemand von euch schon mal ein ähnliches Vorhaben oder ist der Aufbau meiner Textdatei allgemein schlecht gewählt?
Du ahmst das weltbekannte Format CSV und seine Varianten nach :) Warum nicht gleich statt ~ ein ; benutzen und für fehlende Einträge einfach gar nichts (d.h. ";;" deutet auf einen fehlenden Eintrag hin)?
Das ändert hier zwar nichts an der Aufgabenstellung oder -lösung, zeigt aber, dass du Standards benutzt -- und das ist i. Allg. immer vorzuziehen.
 
Danke für die Antwort.

Ich habe ein wenig nach CSV einlesen in Verbindung mit C gesucht und habe einen Beitrag gefunden indem nahezu mein Problem gelöst wurde. Meine Einträge habe ich nun im CSV-Format abgespeichert und alles funktioniert mit der gefundenen Funktion.

Viele Dank für deine Hilfe - Das Problem ist gelöst! :)
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück