cout << fixed;
-
Wie kann ich wenn ich mit den Manipulatoren fixed oder scientific arbeite später wieder die Grundeinstellung bekommen?
Beispiel:#include <iostream> using namespace std; int main () { cout << fixed << 12.4 << endl; cout << scientific << 12.4 << endl; cout << 12.4 << endl; return 0; }Dabei soll dann Folgendes rauskommen:
12.400
1.240e+001
12.4
-
cout.setf(ios_base::fmtflags(0), ios_base::floatfield);
-
Danke, funzt

-
Noch eine Frage:
Ist
cout << fixed;
das selbe wie
cout setiosflags(ios::fixed)
oder gibt es da einen Unterschied?
Wenn das beides gleich ist, könnte man es doch auch mitresetisflags(ios::fixed)
zurücksetzen.
-
Der einzige Unterschied ist für mich die verwendung von iomanip
Wenn ich die Manipulatoren aus iostream verwende:
Gibt es da eine Möglichkeit sie einzeln zurückzusetzen, wie setiosflags/resetiosflags?
-
Ja, du kannst auch alternativ setiosflags(...) bzw. resetiosflags(...) als Manipulatoren verwenden.
-
Als Nachtrag, wie man einen eigenen Manipulator (ohne Parameter) erzeugen kann:
template<class Ch, class Tr = char_traits<Ch> > basic_ostream<Ch, Tr>& default_output(basic_ostream<Ch, Tr>& s) { s.setf(ios_base::fmtflags(0), ios_base::floatfield); } // Anwendung const double x = 1234.56789; cout << fixed << x << endl; cout << default_output << x;