Einen Vector in mehreren Dateien abspeichern, ab einer bestimmten Dateigröße.



  • @Th69 sagte in Einen Vector in mehreren Dateien abspeichern, ab einer bestimmten Dateigröße.:

    du erzeugst eine unordered_map und fügst dann genau einen Datensatz hinzu und damit füllst du den vector.

    Eben nicht. Sobald auch nur eine der interessanten Zeilen auftaucht, findet das push_back statt. Eben nicht erst, wenn der Datensatz zu Ende ist. Ein Datensatz scheint zu Ende zu sein, wenn die $UpdatedBy:-Zeile auftaucht (so war es im ersten Code). Man sollte das push_back also nur dort machen. Und zwischenzeitlich darf man natürlich nicht die Map für jede Zeile neu erstellen, sondern muss sie solange behalten.

    Bzgl:

    ich sortiere unnötige Daten im Vorfeld aus.

    kannst du machen. Aber du könntest auch erstmal ganz dumm einfach jede splitbare Zeile in die Map schreiben und bei der csv-Ausgabe einfach nur die ge

    Fülle den vector (bzw. wie schon geschrieben: schreibe gleich die Daten raus) sobald du das Ende des Datensatzes gelesen hast

    Genau!



  • @wob: Ich habe dort nur beschrieben, was der Code von @prog64 zurzeit macht und dann im nächsten Satz, wie er ihn ändern soll...

    Edit: Oder meinst du das Wort "Datensatz"? Kannst auch "Wert" dafür nehmen...
    Habe meinen Beitrag oben editiert.



  • @Th69 Ja, ich meinte das Wort "Datensatz". Das sind für mich mehrere Key-Value-Paare, nämlich all die, die nachher in der csv-Datei in einer Zeile landen sollen. Dein Edit macht das jetzt auch gleich viel klarer 👍


Anmelden zum Antworten