std::ios_base::setf
Von cppreference.com
| fmtflags setf( fmtflags flags ); |
(1) | |
| fmtflags setf( fmtflags flags, fmtflags mask ); |
(2) | |
Setzt die Formatierungsflags auf die angegebenen Einstellungen.
1) Setzt die durch flags identifizierten Formatierungsflags. Effektiv wird die 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 von flags angegebenen. Effektiv wird die folgende Operation ausgeführt: fl = (fl & ~mask) | (flags & mask), wobei
fl den Zustand der internen Formatierungsflags definiert.Inhalt |
[bearbeiten] Parameter
| flags, mask | - | neue Formatierungseinstellung. mask definiert, welche Flags geändert werden können, flags definiert, welche dieser zu ändernden Flags gesetzt werden sollen (andere werden gelöscht). Beide Parameter können eine Kombination der Konstanten der Formatierungsflags sein. |
[bearbeiten] Formatierungsflags
| Konstante | Erklärung |
| dez | Verwendet eine Dezimalbasis für die Integer-I/O: siehe std::dec |
| okt | Verwendet eine Oktalbasis für die Integer-I/O: siehe std::oct |
| hex | Verwendet eine Hexadezimalbasis für die Integer-I/O: siehe std::hex |
| basefield | dec | oct | hex. Nützlich für Maskierungsoperationen |
| left | Linksbündige Ausrichtung (fügt Füllzeichen rechts an): siehe std::left |
| right | Rechtsbündige Ausrichtung (fügt Füllzeichen links an): siehe std::right |
| internal | Interne Ausrichtung (fügt Füllzeichen an der intern vorgesehenen Stelle ein): siehe std::internal |
| adjustfield | left | right | internal. Nützlich für Maskierungsoperationen |
| scientific | generiert Gleitkommatypen in wissenschaftlicher Notation oder in Hexadezimalnotation, wenn mit fixed kombiniert: siehe std::scientific |
| fixed | generiert Gleitkommatypen in fester Notation oder in Hexadezimalnotation, wenn mit scientific kombiniert: siehe std::fixed |
| floatfield | scientific | fixed. Nützlich für Maskierungsoperationen |
| boolalpha | fügt den Typ bool im alphanumerischen Format ein und extrahiert ihn: siehe std::boolalpha |
| showbase | generiert ein Präfix, das die numerische Basis für die Integer-Ausgabe angibt, erfordert den Währungsindikator bei der Ausgabe von Geldwerten: siehe std::showbase |
| showpoint | generiert bedingungslos ein Dezimalpunktzeichen für die Ausgabe von Gleitkommazahlen: siehe std::showpoint |
| showpos | generiert ein + Zeichen für die Ausgabe nicht-negativer Zahlen: siehe std::showpos |
| skipws | ignoriert führende Leerzeichen vor bestimmten Eingabeoperationen: siehe std::skipws |
| unitbuf | leert den Ausgabepuffer nach jeder Ausgabeoperation: siehe std::unitbuf |
| uppercase | ersetzt bestimmte Kleinbuchstaben durch ihre Großbuchstaben-Äquivalente bei bestimmten Ausgabeoperationen: siehe std::uppercase |
[bearbeiten] Rückgabewert
Die Formatierungsflags vor dem Aufruf der Funktion.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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[bearbeiten] Siehe auch
| verwaltet Formatierungsflags (öffentliche Memberfunktion) | |
| löscht spezifische Formatierungsflags (öffentliche Memberfunktion) |