C programm fscanf,fgets

Schnetze

Cadet 2nd Year
Registriert
Okt. 2021
Beiträge
20
Hallo zusammen, ich habe eine frage bezüglich fscanf bzw. fgets.
Ich soll von einer .txt Datei 5 Zeilen einlesen und erst nachdem ich es eingelesen hab in die gewünschte Formatierung formatieren. d.h z.b Zahlen in integer zu wandeln usw. . Beim Einlesen sollen alle Zeichen egal ob Zahlen oder Buchstaben als String gespeichert werden.
Nun zum Problem, ich schaffe es nur die erste Zeile abzuspeichern, egal ob mit fscanf oder fgets.
wenn ich mit fscanf arbeite sieht der Befehl so aus: fscanf(datei,%[^\n],buffer);
wenn ich allerdings sofort formatiere, d.h. alle Zahlen in integer usw. mache dann klappen alle Zeilen. Der Befehl sieht dann so aus: fscanf(datei,"%d;%[^;];%lf",buffer);
Frage: warum klappt es mit der sofortigen Umwandlung schon und mit der nachträglichen nicht?
und wie kann ich es soweit bearbeiten, dass nicht nur die erste Zeile aus der .txt File gelesen wird?
MfG. und danke im voraus.
 
Schließe dich doch lieber mit Mitschülern oder Kommilitonen zusammen.
 
  • Gefällt mir
Reaktionen: BAGZZlash und Raijin
Würd ich ja gern. Das Problem ist nur, es wird angeblich sehr streng auf Plagiarismus geprüft und da wollt ich kein Risiko eingehen.
 
Du brauchst noch ein \n im Pattern: %[^\n]\n

Aber wie du schon in der Überschrift schreibst (und dann nichts dazu im Text), "fgets" wäre hier vermutlich besser geeignet.
 
  • Gefällt mir
Reaktionen: Schnetze
Also ich habe nicht gesagt, dass du dir eine fertige Lösung von einem Kommilitonen holen sollst, sondern dich zum Austausch ermutigt.
 
  • Gefällt mir
Reaktionen: mental.dIseASe, Raijin und Schnetze
Zurück
Oben