[C++] 'Double'-Wert in Datei schreiben?!

chriskool

Lt. Junior Grade
Dabei seit
Mai 2003
Beiträge
456
Hi,
Hab mich jetzt auch mal ein bisschen mit C++ beschäftigt.
Funzt eigentlich soweit ganz gut, hab mal ein kleines Progrämmchen zur Berechnung von Flächeninhalt und Umfang von Kreisen/Kreisteilen gemacht.
Jetzt wollte ich den Wert für "Radius" in die Datei "test.txt" schreiben, allerdings erhalte ich immer die Fehlermeldung

Code:
main.cpp:51: error: 
cannot convert `double' to `const char*' for 
argument `2' to `int fprintf(FILE*, const char*, ...)'
Wie kann ich dieses Problem beheben, ich bin noch ziemlich Anfänger was C++ betrifft ;)


Als IDE benutz ich KDevelop.
 

Anhänge

Zuletzt bearbeitet:

7H3 N4C3R

Lt. Commander
Dabei seit
Feb. 2002
Beiträge
1.816
Hm naja, das ist auch noch gutes (?) altes C. :) Du kannst auch Streams benutzen, das macht das ganze viel einfacher. Zum Bleistift so:
Code:
  #include <fstream>
  
  using namespace std;
  
  ...
  {
    ofstream fout ("C:\\test.txt");
    double d (5.36);
   fout << d << ' '; // Leerzeichen braucht man als Trenner, um die geschriebenen Werte auseinander zu halten
  }
fout brauchst Du übrigens nicht zu schließen, da sich der Stream beim Verlassen seines Gültigkeitsbereiches automatisch selbst zerstört und sich dabei automatisch schließt.
 
Zuletzt bearbeitet:

pcw

Lt. Commander
Dabei seit
Juli 2001
Beiträge
1.658
hast du es schonmal mit
fprintf(Datei,"%f",Radius);
versucht?
 

chriskool

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Mai 2003
Beiträge
456
Thx

Mit "%f" funktionierts :)

Den C Code werd ich bei Gelegenheit auch nochmal ausprobieren...danke euch beiden.
 
Top