Double Wert in .txt Datei speichern

cecho

Grünschnabel
Hallo!

Bin neu hier und noch ein relativer Anfänger in C.

Hab ein Notendurchschnittsberechnungsprogramm geschrieben - funktioniert auch einwandfrei.

Jetzt möchte ich aber das Ergebniss "x" welches nach meinem Algorithmus rauskommt in einer .txt Datei abspeichern, die zu diesem Zweck erstellt werden soll.

Folgendes wäre vl noch erwähnenswert:

- x ist ein double Wert.
- Ich programmiere mit Ubuntu, benutze als compiler g++.

Von fprintf und fclose habe ich schon gehört - allerdings kriege ich die letzten 2 Zeilen nicht zum laufen:

Code:
x=x/n; //x ist ein double Wert
FILE * str = fopen ("test.txt", "w+r"); // die fehlermeldung hat was mit std::string to const char zu tun, vl habe ich da iwo einen Denkfehler
fprintf (str, x);
fclose (str);
return 0;

Wäre für jede Hilfe dankbar!
 
Dein Weg ist eigentlich 100% richtig, jedoch würde ich dir einmal diese Seite empfehlen. Wie du siehst, kann die Funktion fprintf() mehr als 2 Parameter annehmen. Die Datei verhält sich somit analog zu printf():
Code:
// ...
fprintf(str, "%f", x);
// ...
fertig :)

Des Weiteren reicht die angabe von "w+" bei fopen. Der Rest sollte allerdings stimmen.
 
Zuletzt bearbeitet:
Überprüfe immer, ob das fopen auch erfolgreich war!
Wenn str nach fopen() auf NULL zeigt, so ist ein Fehler aufgetreten und genau das vermute ich bei dir auch, da es keinen Modus "w+r" gibt!
Du kannst das w+ die Modi nur mit b für Binärmodus kombinieren, anders nicht!

LG
 
Okay, er speichert den Wert jetzt in der Datei, was müsste ich abändern, wenn er die txt Datei nicht jedes mal neu erstellen soll, und die Werte nicht überschreiben soll?
 

Neue Beiträge

Zurück