Zeilen Zählen
-
Hi,
ich hab gerade erst angefangen C zu programmieren und hab da n kleines problem:Ich will eine Datei mit in folgendem vormat einlesen und/oder schreiben:
LfdNr 1 name 1 vorname 1 beruf 1
LfdNr 2 name 2 vorname 2 beruf 2
LfdNr n name n vorname n beruf nmein ziel ist es jetzt die anzahl der zeilen in der datei zu zählen und mit dieser dann weiter zu arbeiten wie z.b ne abfrage wieviele namen gespeichert sind?????
Meine idee war es mit fscanf einfach nur die laufenden nummern einzulesen und die letzte dann in der var zu speichern.
aber ich krigs nich hin das der mit fscanf immer nur erste zeile, erste spalte liest und dann in zweite zeile, erste spalte springt?????
-
fscanf liest immer bis zum nächsten Whitespace (Leerzeichen, Tab, Enter,...) - du benötigst eher getline oder (in C) einen anderen Formatparameter für scanf.
PS: Ich kenne nur zwei Möglichkeiten, die Zeilenzahl zu bestimmen: a) du schreibst sie dir auf (z.B. am Anfang der Datei) oder b) du zählst die '\n's in der Datei.
-
Danke, jetzt weiß ich schonmal das ich mit fscanf nich weiterkomme.
-
BennB schrieb:
ich hab gerade erst angefangen C zu programmieren und hab da n kleines problem:
Du bist aber hier im C++ Bereich C ist eine Etage höher
Das sehen die meißten wohl nicht das ANSI C das C Forum ist.
Mir gings am Anfang auch so mal sehen ob das vielleicht geändert wird
-
oh,
hast recht, hab ich nich gesehn. aber das problem hab ich jetzt gelöst... mit fgets kann man da was bauen.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
du brauchst fgets und kein getline, da getline nicht zu ansi c gehoert.
mit fgets() liest du die zeilen ein und kannst sie dann mit sscanf() auswerten.