Daten aus Binär Datei zählen



  • Hey,

    ich habe hier eine Binär Datei. In der Datei sind natürlich verschiede Daten enthalten und diese werden per struct eingegeben und ausgelesen und das funktioniert alles soweit.
    An der Stelle Lieferant struct z.B. stehen immer verschiedene Lieferanten.

    z.B.
    Lieferant: XYZ
    Lieferant: ABC
    Lieferant: OCK
    Lieferant: PSW

    und so weiter.

    Jetzt die frage. Gibt es eine elegante Lösung wie ich in der Binär Datei zählen kann wie oft der Lieferant XYZ oder auch andere Lieferanten vorhanden sind ?

    Ich kenne es aus anderen Sprachen wie PHP das es dafür einen Befehl gibt, aber aber habe nichts richtiges für C gefunden

    Bitte nicht schlagen ich übe mich noch in C ein 🙂



  • Um das Lesen der Datei wirst du nicht herumkommen, zudem muss die struct exakt (also inkl. evtl. Paddingbytes) bekannt sein.
    Dann liest du mit fread ein oder mehrere struct und wertest deren Inhalt aus.



  • Wutz schrieb:

    Um das Lesen der Datei wirst du nicht herumkommen, zudem muss die struct exakt (also inkl. evtl. Paddingbytes) bekannt sein.
    Dann liest du mit fread ein oder mehrere struct und wertest deren Inhalt aus.

    Jop das funktioniert alles. Ich kann 9 Attribute pro 1 Struktur und kann dies alles nach und nach ausgeben. Suche nur eine möglichkeit das im Hintergrund zu zählen.



  • Da gibt es nix fertiges. Einfach Lieferanten in eine Tabelle packen, so noch nicht drinne und ansonsten nach jedem lesen schauen, ob scho in Tabelle und manuell hochzählen. Was du willst geht nur mit einer relationalen (SQL) Datenbank so ala select lieferant, count(*) group by lieferant...



  • Crusha schrieb:

    An der Stelle Lieferant struct z.B. stehen immer verschiedene Lieferanten.

    z.B.
    Lieferant: XYZ
    Lieferant: ABC
    Lieferant: OCK
    Lieferant: PSW

    und so weiter.

    Jetzt die frage. Gibt es eine elegante Lösung wie ich in der Binär Datei zählen kann wie oft der Lieferant XYZ oder auch andere Lieferanten vorhanden sind ?

    Einmal!


Anmelden zum Antworten