std::left, std::right, std::internal
Von cppreference.com
| Definiert in Header <ios> |
||
| std::ios_base& left( std::ios_base& str ); |
(1) | |
| std::ios_base& right( std::ios_base& str ); |
(2) | |
| std::ios_base& internal( std::ios_base& str ); |
(3) | |
Ändert die Positionierung der Füllzeichen in einem Ausgabestrom. left und right gelten für jeden auszugebenden Typ, internal gilt für Ganzzahl-, Gleitkomma- und monetäre Ausgaben. Hat keine Auswirkungen auf die Eingabe.
1) Setzt das
adjustfield des Streams str auf left, als ob str.setf(std::ios_base::left, std::ios_base::adjustfield) aufgerufen worden wäre.2) Setzt das
adjustfield des Streams str auf right, als ob str.setf(std::ios_base::right, std::ios_base::adjustfield) aufgerufen worden wäre.3) Setzt das
adjustfield des Streams str auf internal, als ob str.setf(std::ios_base::internal, std::ios_base::adjustfield) aufgerufen worden wäre.Der anfängliche Standard für Standardströme ist äquivalent zu right.
Dies ist ein I/O-Manipulator. Er kann mit einem Ausdruck wie out << std::left für jedes out vom Typ std::basic_ostream oder mit einem Ausdruck wie in >> std::left für jedes in vom Typ std::basic_istream verwendet werden.
Inhalt |
[bearbeiten] Parameter
| str | - | Referenz auf einen E/A-Stream. |
[bearbeiten] Rückgabewert
str (Referenz auf den Stream nach der Manipulation).
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <iomanip> #include <iostream> #include <locale> int main() { std::cout.imbue(std::locale("en_US.utf8")); std::cout << "Default positioning:\n" << std::setfill('*') << std::setw(12) << -1.23 << '\n' << std::setw(12) << std::hex << std::showbase << 42 << '\n' << std::setw(12) << std::put_money(123, true) << "\n\n"; std::cout << "Left positioning:\n" << std::left << std::setw(12) << -1.23 << '\n' << std::setw(12) << 42 << '\n' << std::setw(12) << std::put_money(123, true) << "\n\n"; std::cout << "Internal positioning:\n" << std::internal << std::setw(12) << -1.23 << '\n' << std::setw(12) << 42 << '\n' << std::setw(12) << std::put_money(123, true) << "\n\n"; std::cout << "Right positioning:\n" << std::right << std::setw(12) << -1.23 << '\n' << std::setw(12) << 42 << '\n' << std::setw(12) << std::put_money(123, true) << '\n'; }
Ausgabe
Default positioning: *******-1.23 ********0x2a ***USD *1.23 Left positioning: -1.23******* 0x2a******** USD *1.23*** Internal positioning: -*******1.23 0x********2a USD ****1.23 Right positioning: *******-1.23 ********0x2a ***USD *1.23
[bearbeiten] Siehe auch
| Ändert die Breite des nächsten Eingabe-/Ausgabefeldes (Funktion) | |
| Ändert das Füllzeichen (Funktion-Template) | |
| Steuert, ob ein Präfix zur Anzeige der numerischen Basis verwendet wird (Funktion) |