write into file

  • Hallo, wieder mal ein umfangreicheres C++ Problem meinerseits. Ich baue ein kleines Spiel bei dem auch highscores verwaltet werden sollen. Eine Funktion WriteHighscores gibt es grundsätzlich schon, aber mir fehlen noch zwei Dinge:

    1. Wie schreibe ich einen float wert in ein file (Ich suche im grunde glaub ich das gegenteil zu getline)Eine andere Funktion liefert übrigens diesen float wert als ergebnis des spiels.
    2. Reihung im File Ich stell mir die Frage, ob nicht eine verkettete Liste bei einer top-down-Reihung von float werten besser wäre. Also ich frage mich eben, wie ich per getline float werte line für line auslesen kann und mit dem einzufügenden wert vergleichen kann/soll...
    Hier mein bisheriger Code:

    Die Frage ist, ob ich per getline überhaupt floats lesen kann oder ob ich sie casten kann und vor allen dingen ob die vergleiche demenstprechend hinhauen und wie ich neue einträge als float reinschreibe...
    Vielen Dank im Voraus für eure Hilfe...

  • Zitat von linken_harmy

    1. Wie schreibe ich einen float wert in ein file

    fprintf (filehandle, "%f", floatvalue);

    Zitat

    2. Reihung im File


    Du wirst ja noch Zusatzinfo im File speichern wollen (z.B. den Namen)
    -> lies die Datensätze unsortiert und verwende std::sort zum sortieren, wenn die Datensätze im Hauptspeicher sind.
    Floats lesen geht mit fscanf, bzw fgets und einem fixen Separator

  • das mit dem streams passt schon, die C-Funktionen wie fprintf hat man im Mittelalter verwendet!

    also:

    #include <fstream>

    std::ofstream outfile;
    double d = 4.5;
    outfile << d;

    // und zum einlesen:

    std::ifstream infile
    double d;
    infile >> d;

    einfacher geht's nicht!

    lg, Stefan

  • ok, hier noch einmal, schön formatiert:

  • echt fett leute, werd das alles ausprobieren und hoffen dass es hinhaut, ich ruf dann später nochmal an ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!