std::ios_base:: setf
From cppreference.net
|
fmtflags setf
(
fmtflags flags
)
;
|
(1) | |
|
fmtflags setf
(
fmtflags flags, fmtflags mask
)
;
|
(2) | |
Setzt die Formatierungsflags auf die angegebenen Einstellungen.
1)
Setzt die Formatierungsflags, die durch
flags
identifiziert werden. Effektiv wird folgende Operation ausgeführt:
fl
=
fl
|
flags
, wobei
fl
den Zustand der internen Formatierungsflags definiert.
2)
Löscht die Formatierungsflags unter
mask
und setzt die gelöschten Flags auf die durch
flags
spezifizierten. Effektiv wird folgende Operation durchgeführt:
fl
=
(
fl
&
~mask
)
|
(
flags
&
mask
)
wobei
fl
den Zustand der internen Formatierungsflags definiert.
Inhaltsverzeichnis |
Parameter
| flags, mask | - | Neue Formatierungseinstellung. mask definiert welche Flags geändert werden können, flags definiert welche Flags von denen, die geändert werden sollen, gesetzt werden sollen (andere werden gelöscht). Beide Parameter können eine Kombination der Formatierungsflags Konstanten sein |
Formatierungsflags
| Konstante | Erklärung |
| dec | Dezimalbasis für Ganzzahl-Ein-/Ausgabe verwenden: siehe std::dec |
| oct | Oktalbasis für Ganzzahl-Ein-/Ausgabe verwenden: siehe std::oct |
| hex | Hexadezimalbasis für Ganzzahl-Ein-/Ausgabe verwenden: siehe std::hex |
| basefield | dec | oct | hex . Nützlich für Maskierungsoperationen |
| left | Linksbündige Ausrichtung (fügt Füllzeichen rechts hinzu): siehe std::left |
| right | Rechtsbündige Ausrichtung (fügt Füllzeichen links hinzu): siehe std::right |
| internal | Interne Ausrichtung (fügt Füllzeichen an internem Punkt hinzu): siehe std::internal |
| adjustfield | left | right | internal . Nützlich für Maskierungsoperationen |
| scientific | Gleitkommatypen in wissenschaftlicher Notation oder Hexadezimalnotation (kombiniert mit fixed ) generieren: siehe std::scientific |
| fixed | Gleitkommatypen in Festkommanotation oder Hexadezimalnotation (kombiniert mit scientific ) generieren: siehe std::fixed |
| floatfield | scientific | fixed . Nützlich für Maskierungsoperationen |
| boolalpha | bool -Typ im alphanumerischen Format einfügen und extrahieren: siehe std::boolalpha |
| showbase | Präfix für numerische Basis bei Ganzzahlausgabe generieren, Währungsindikator bei monetärer Ein-/Ausgabe erfordern: siehe std::showbase |
| showpoint | Dezimalpunkt für Gleitkommazahlenausgabe bedingungslos generieren: siehe std::showpoint |
| showpos | + -Zeichen für nicht-negative numerische Ausgabe generieren: siehe std::showpos |
| skipws | Führende Leerzeichen vor bestimmten Eingabeoperationen überspringen: siehe std::skipws |
| unitbuf | Ausgabe nach jeder Ausgabeoperation leeren: siehe std::unitbuf |
| uppercase | Bestimmte Kleinbuchstaben durch Großbuchstaben in bestimmten Ausgabeoperationen ersetzen: siehe std::uppercase |
Rückgabewert
Die Formatierungsflags vor dem Aufruf der Funktion.
Beispiel
Diesen Code ausführen
#include <iomanip> #include <iostream> #include <numbers> int main() { const double PI = std::numbers::pi; const int WIDTH = 15; std::cout.setf(std::ios::right); // equivalent: cout << right; std::cout << std::setw(WIDTH / 2) << "radius" << std::setw(WIDTH) << "circumference" << '\n'; std::cout.setf(std::ios::fixed); // equivalent: cout << fixed; for (double radius = 1; radius <= 6; radius += 0.5) std::cout << std::setprecision(1) << std::setw(WIDTH / 2) << radius << std::setprecision(2) << std::setw(WIDTH) << (2 * PI * radius) << '\n'; }
Ausgabe:
radius circumference
1.0 6.28
1.5 9.42
2.0 12.57
2.5 15.71
3.0 18.85
3.5 21.99
4.0 25.13
4.5 28.27
5.0 31.42
5.5 34.56
6.0 37.70
Siehe auch
|
verwaltet Format-Flags
(öffentliche Elementfunktion) |
|
|
löscht spezifische Format-Flags
(öffentliche Elementfunktion) |