printf und float
-
Ich möchte ein float mit printf ausgeben, finde aber in der Doku
http://msdn.microsoft.com/en-us/library/hf4y5e3w(v=VS.100).aspx
nur Format-Spezifizierer für double.Bedeutet das, dass ich die floats immer in erst in doubles casten muß?
Gruß * Dank
-
Nein musst du nicht, denn das casten geschieht automatisch.
-
Allgemein benutzt man %lf (long float) für die Ausgabe von Doublewerten was soweit ich weiß die Genauigkeit von 8 Byte beibehält.
-
Andyman schrieb:
Allgemein benutzt man %lf (long float) für die Ausgabe von Doublewerten was soweit ich weiß die Genauigkeit von 8 Byte beibehält.
Nein!
%lf ist beiprintf
nicht definiert, bzw. gibt das undefiniertes Verhalten.
Die meisten Compiler sehen aber über das l hinweg.Bei
scanf
ist es definiert und muss auch für double angegeben werden.
-
Mache dich vielleicht mal mit C++ vertraut und zum Einstieg mit den sehr einfach zu handhabenden Streams für die Ausgabe: cout << "myfloat " << myfloat << endl; Du brauchst das dahinterstehende Konzept von C++ noch nicht einmal voll begreifen.
Alle notwendigen Castings und Formatierungen macht C++ von alleine. Ist deulich besser als printf und co.
-
berniebutt schrieb:
Mache dich vielleicht mal mit C++ vertraut und zum Einstieg mit den sehr einfach zu handhabenden Streams für die Ausgabe: cout << "myfloat " << myfloat << endl; Du brauchst das dahinterstehende Konzept von C++ noch nicht einmal voll begreifen.
Alle notwendigen Castings und Formatierungen macht C++ von alleine. Ist deulich besser als printf und co.
Diese Antwort - in diesem Forum, auf diese Frage, mit dieser Arroganz - empfinde ich als eine Zumutung.
Damit kannst Du meiner Meinung nach ins C++ Forum gehen.Gruß
PS: ausserdem ist sie falsch:
Alle notwendigen Castings und Formatierungen macht C++ von alleine.
C++ macht default Formatierungen. Ob es die notwendigen sind kann der Compiler nicht wissen; das weiss häufig nicht mal der Programierer.
-
lol. Da hat berniebutt nicht aufgepaßt.
Aber da Drehleiter daraufhin so rumkrakeelt, erkläre ich es nicht, sondern werfe im vor, daß er nichtmal http://en.wikipedia.org/wiki/Stdarg.h lesen kann.
-
Nicht aufgepasst? Wohl eher Unkenntnis weil grundlegend.
Na hoffentlich hättest du ihm dann wenigstens erklärt, dass C printf schon immer und standardmäßig implizit promoted, defaultformatiert und auch noch dem Compiler die Chance bietet, Typwarnungen zu generieren.
-
Wutz schrieb:
Nicht aufgepasst? Wohl eher Unkenntnis weil grundlegend.
Nö, außerhalb dieses Forums hätte er recht.
Er hat nur nicht aufgepaßt, in welchem Forum er gerade ist.
-
Vielen dank,
speziell für folgende Hinweise
DirkB schrieb:
Nein musst du nicht, denn das casten geschieht automatisch.
volkard schrieb:
und
Wutz schrieb:
printf schon immer und standardmäßig implizit promoted
Gute Nacht
-
volkard schrieb:
Er hat nur nicht aufgepaßt, in welchem Forum er gerade ist.
Hat er schon!
Aber C und C++ sind glücklicherweise keine sich ausschliessende Dogmen. Man darf da auch mal auf die andere Seite schauen, wenn es Vorteile bringt.
War nur ein aufrichtig gemeinter Hinweis, mehr nicht!
Übrigens: im Forum C++ wird jeder genauso verhauen, der einen einfachen Vorschlag in C offeriert. Ist das jetzt wie katholisch oder evangelisch?
-
Es ist, wie mit Hut in die Kirche oder mit Schuhen in die Moschee zu gehen. Das macht man nicht einfach nur so mal.
-
Compiler, Linker und Laufzeitsystem kennen keinen strengen Sittenwächter für reinen Programmierstil!
Wozu auch?