Namensräume
Varianten
Aktionen

std::ios_base::fmtflags

Von cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
typedef /*implementierungsabhängig*/ fmtflags;
static constexpr fmtflags dec = /*implementierungsabhängig*/

static constexpr fmtflags oct = /*implementierungsabhängig*/
static constexpr fmtflags hex = /*implementierungsabhängig*/

static constexpr fmtflags basefield = dec | oct | hex;
static constexpr fmtflags left = /*implementierungsabhängig*/

static constexpr fmtflags right = /*implementierungsabhängig*/
static constexpr fmtflags internal = /*implementierungsabhängig*/

static constexpr fmtflags adjustfield = left | right | internal;
static constexpr fmtflags scientific = /*implementierungsabhängig*/

static constexpr fmtflags fixed = /*implementierungsabhängig*/

static constexpr fmtflags floatfield = scientific | fixed;
static constexpr fmtflags boolalpha = /*implementierungsabhängig*/

static constexpr fmtflags showbase = /*implementierungsabhängig*/
static constexpr fmtflags showpoint = /*implementierungsabhängig*/
static constexpr fmtflags showpos = /*implementierungsabhängig*/
static constexpr fmtflags skipws = /*implementierungsabhängig*/
static constexpr fmtflags unitbuf = /*implementierungsabhängig*/

static constexpr fmtflags uppercase = /*implementierungsabhängig*/

Definiert die verfügbaren Formatierungs-Flags. Es ist ein BitmaskType. Die folgenden Konstanten sind definiert

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] Beispiel

Das folgende Beispiel zeigt verschiedene Möglichkeiten, dasselbe Ergebnis auszugeben.

#include <iostream>
 
int main()
{
    const int num = 150;
 
    // using fmtflags as class member constants:
    std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
    std::cout.setf(std::ios_base::showbase);
    std::cout << num << '\n';
 
    // using fmtflags as inherited class member constants:
    std::cout.setf (std::ios::hex, std::ios::basefield);
    std::cout.setf (std::ios::showbase);
    std::cout << num << '\n';
 
    // using fmtflags as object member constants:
    std::cout.setf(std::cout.hex, std::cout.basefield);
    std::cout.setf(std::cout.showbase);
    std::cout << num << '\n';
 
    // using fmtflags as a type:
    std::ios_base::fmtflags ff;
    ff = std::cout.flags();
    ff &= ~std::cout.basefield;   // unset basefield bits
    ff |= std::cout.hex;          // set hex
    ff |= std::cout.showbase;     // set showbase
    std::cout.flags(ff);
    std::cout << num << '\n';
 
    // not using fmtflags, but using manipulators:
    std::cout << std::hex << std::showbase << num << '\n';
}

Ausgabe

0x96
0x96
0x96
0x96
0x96

[bearbeiten] Siehe auch

verwaltet Formatierungsflags
(öffentliche Memberfunktion) [edit]
setzt spezifische Formatierungsflags
(öffentliche Memberfunktion) [edit]
löscht spezifische Formatierungsflags
(öffentliche Memberfunktion) [edit]
Ändert die Basis, die für die Ganzzahl-I/O verwendet wird
(Funktion) [bearbeiten]
Ändert das Füllzeichen
(Funktion-Template) [bearbeiten]
Ändert die für Gleitkomma-I/O verwendete Formatierung
(Funktion) [bearbeiten]
Steuert, ob ein Präfix zur Anzeige der numerischen Basis verwendet wird
(Funktion) [bearbeiten]
Schaltet zwischen textueller und numerischer Darstellung von Booleans um
(Funktion) [bearbeiten]
Steuert, ob das +-Zeichen bei nicht-negativen Zahlen verwendet wird
(Funktion) [bearbeiten]
Steuert, ob der Dezimalpunkt in der Gleitkommadarstellung immer enthalten ist
(Funktion) [bearbeiten]
Steuert, ob die Ausgabe nach jeder Operation geflusht wird
(Funktion) [bearbeiten]
Steuert, ob führende Leerzeichen bei der Eingabe übersprungen werden
(Funktion) [bearbeiten]
Steuert, ob Großbuchstaben bei einigen Ausgabeformaten verwendet werden
(Funktion) [bearbeiten]