binary



  • Ich habe mit C++ ein binäre Datei erstellt und habe auch viel drin gespeichert.
    Aber jetzt will ich z.b. aus der 3 Zeile der Datei lesen oder dort hinein schreiben.
    Kann mir einer sagen wie das gehen soll?
    Ach und noch ne Frage wie kann ich die größe meiner Festplatte ermitteln?
    Ich meine nicht nur die Gesamtgröße sondern auch den belegten Speicherplatz und den freien.



  • Binärdateien haben keine Zeilen.



  • ja, ich mein wenn ich z.b. mit wrtite einen string rein schreibe dann wider einen und das ca. 5 mal.
    Wenn ich dann das erste mal write mach liest er den ersten string das zweite mal den zweiten usw.
    Wie kann ich jetzt den beim 4 mal aber wieder den 2 ten lesen bzw. rein schreiben?



  • das geht nur wenn der String eine fest definierte Länge hat



  • Ich würde es grundsätzlich so machen, dass ich erst die Länge und dann den String abspeichere:

    void save_string(ostream& os, string const& str) {
      string::size_type size = str.length();
      os.write(reinterpret_cast<char*>(&size), sizeof(size));
      os.write(str.data(), size);
    }
    

Anmelden zum Antworten