Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

C: Auslesen aus datein nach bestimmten Muster

gelöscht_146282 / 4 Antworten / Baumansicht Nickles

Hallo


Ich sitze momentan an einem Project zur verwaltung von bestimmten daten. Meine Frage ist:


Wie kann ich mit fscanf() aus einer datei daten auslesen, wenn ich nur den ersten wert haben möchte? Der eingelsende Wert wird mit einem anderen abgeglichen und auf Übereinstimmung geprüft, wenn keine übereinstimmung soll sofort i der nächsten Zeile weitergemacht werden.


Dateiinhalt z.B.:


1 12SSSE3 23 Halolo 23 17.1


2 87 alpa12 23 Meine 10 12.67


Ich möchte jetzt die Zeile suchen die mit 2 anfängt(also die letzte) aber wie kann ich das realisiern ohne das ich jedes Zeichen einzeln abfrage. Mich interessiert nur was in der Zeile vor dem 1. Leerzeichen steht.


while((c=feof(fp))==0)
 {
  do
  {
   fscanf(fp,"%d %s %d %s %d %f\n",&DS.X1, &DS.X2, &DS.X3, &DS.X4, &DS.X5, &DS.X6);
  }while(DS.lfdnr!=wahl)
 }


Und dann möchte ich diese Zeile komplett löschen aus der Datei.


Ich bedanke mich schon mal im Vorraus


-=GHOST=-


 

bei Antwort benachrichtigen
PaoloP gelöscht_146282 „C: Auslesen aus datein nach bestimmten Muster“
Optionen

na du möchtest eine datei also zeilenweise auslesen.
wie du die zeilen dann scannst wäre dann der nächste schritt.
beispiel-programme gibt es da in den gängigen foren.

kommt es für dich in betracht eine
struktur oder ein array von strukturen
direkt binär in ein datei zu schreiben und so auch wieder zu laden?
Du köntest dann ein Array von einem Typ deiner Wahl bauen in einer datei
speichern und Zustand exakt mit dem laden er Datei wiederherstelllen.
Da bietet C sehr einfache Möglichkeiten für.




Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
gelöscht_146282 PaoloP „na du möchtest eine datei also zeilenweise auslesen. wie du die zeilen dann...“
Optionen

Ja das würde auch gehn, eine komplette Struktur in dir Datei zu schreiben. Dann könnte ich aber nicht mehr einzelne Strukturen (Datensätze) rauslöschen und um das geht es mir ja letztendlich.
Nach einer Auswahl diese entsprechende Struktur zu löschen.

bei Antwort benachrichtigen
PaoloP gelöscht_146282 „Ja das würde auch gehn, eine komplette Struktur in dir Datei zu schreiben. Dann...“
Optionen

Hm also wenns hilft kann ich'n Code posten der ne Datei zeilenweise einliest. Bringt das was ?
Dann müsstes mit den
üblichen string-routinen parsen
was du da hast.
Wenn's unter Windows ist gibts da noch die Ini-Funktionen. Sehr komfortabel.

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
martinx24 gelöscht_146282 „C: Auslesen aus datein nach bestimmten Muster“
Optionen

Hallo Ghost!

Kurze Frage an Dich: Ist es Dir absolut wichtig, daß die Zeile nicht zeichenweise bis zum Ende gelesen wird, oder nicht?
Anders ausgedrückt: Warum darf die angefangene Zeile nicht zeichenweise fertiggelesen werden? (Performance?)

Gruß Martin!

bei Antwort benachrichtigen