std::showbase, std::noshowbase
Von cppreference.com
| Definiert in Header <ios> |
||
| std::ios_base& showbase( std::ios_base& str ); |
(1) | |
| std::ios_base& noshowbase( std::ios_base& str ); |
(2) | |
1) Aktiviert das `showbase`-Flag im Stream str, als ob str.setf(std::ios_base::showbase) aufgerufen worden wäre.
2) Deaktiviert das `showbase`-Flag im Stream str, als ob str.unsetf(std::ios_base::showbase) aufgerufen worden wäre.
Dies ist ein E/A-Manipulator, er kann mit einem Ausdruck wie out << std::showbase für jedes out vom Typ std::basic_ostream oder mit einem Ausdruck wie in >> std::showbase für jedes in vom Typ std::basic_istream aufgerufen werden.
Das `showbase`-Flag beeinflusst das Verhalten von Ganzzahlausgaben (siehe std::num_put::put), Geld-Eingaben (siehe std::money_get::get) und Geld-Ausgaben (siehe std::money_put::put).
Inhalt |
[edit] Parameter
| str | - | Referenz auf einen E/A-Stream. |
[edit] Rückgabewert
str (Referenz auf den Stream nach der Manipulation).
[edit] Hinweise
Wie in std::num_put::put spezifiziert, verhält sich das `showbase`-Flag bei Ganzzahlausgaben wie der Formatierungsangabe `#` in std::printf, was bedeutet, dass das Präfix für die numerische Basis *nicht* hinzugefügt wird, wenn der Wert Null ausgegeben wird.
[edit] Beispiel
Führen Sie diesen Code aus
#include <iomanip> #include <iostream> #include <locale> #include <sstream> int main() { // showbase affects the output of octals and hexadecimals std::cout << std::hex << "showbase: " << std::showbase << 42 << '\n' << "noshowbase: " << std::noshowbase << 42 << '\n'; // and both input and output of monetary values std::locale::global(std::locale("en_US.UTF8")); long double val = 0; std::istringstream("3.14") >> std::showbase >> std::get_money(val); std::cout << "With showbase, parsing 3.14 as money gives " << val << '\n'; std::istringstream("3.14") >> std::noshowbase >> std::get_money(val); std::cout << "Without showbase, parsing 3.14 as money gives " << val << '\n'; }
Ausgabe
showbase: 0x2a noshowbase: 2a With showbase, parsing 3.14 as money gives 0 Without showbase, parsing 3.14 as money gives 314
[edit] Siehe auch
| Löscht die angegebenen ios_base-Flags (Funktion) | |
Setzt die angegebenen ios_base-Flags(Funktion) |