Namensräume
Varianten
Aktionen

std::ios_base::setf

Von cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
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

#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) [edit]
löscht spezifische Formatierungsflags
(öffentliche Memberfunktion) [edit]