C++-Standardbibliothek <iomanip>

<iomanip>Es ist eine Header-Datei in der C++-Standardbibliothek, die formatierte Operationen für Eingabe-/Ausgabestreams bereitstellt.

iomanipDie Funktionen in der Bibliothek ermöglichen Entwicklern die Steuerung der Ausgabeformatierung, wie z. B. das Festlegen der Anzahl der Nachkommastellen, der Breite, der Ausrichtung usw.

iomanipEs ist die Abkürzung für Eingabe-/Ausgabe-Manipulatoren; diese bietet eine Reihe von Operatoren zur Steuerung der Formatierung von Eingabe-/Ausgabestreams in der C++-Standardbibliothek und ist auf die folgenden Szenarien anwendbar:

  • Umgang mit Gleitkommaformaten im wissenschaftlichen Rechnen;
  • Datenausrichtung und Verschönerung;
  • Anzeige numerischer Werte in einer bestimmten Basis oder einem bestimmten Format.

Syntax

iomanipFunktionen in der Bibliothek werden üblicherweise zusammen mit<<und>>Zusammen mit Operatoren verwendet, um die Steuerung des Ausgabestreams zu erreichen.

Im Folgenden sind einige häufig verwendeteiomanipFunktion:

Funktionen/ManipulatorenFunktionenBeispielcodeErgebnis ausgeben
std::setw(int n)Feldbreite festlegen, die Breite für die nächste Ausgabe angebend.std::cout << std::setw(5) << 42;42
std::setfill(char)Füllzeichen festlegen (Standard ist Leerzeichen)std::cout << std::setfill('*') << std::setw(5) << 42;***42
std::leftLinke Ausrichtung festlegenstd::cout << std::left << std::setw(5) << 42;42
std::rightRechte Ausrichtung festlegenstd::cout << std::right << std::setw(5) << 42;42
std::internalVorzeichen nach links, der Rest nach rechtsstd::cout << std::internal << std::setw(5) << -42;- 42
std::setprecision(int)Anzahl signifikanter Stellen für Gleitkommazahlen festlegenstd::cout << std::setprecision(3) << 3.14159;3.14
std::fixedFestkommanotation festlegen, um Gleitkommazahlen auszugebenstd::cout << std::fixed << std::setprecision(2) << 3.14159;3.14
std::scientificFormat der wissenschaftlichen Notation festlegen, um Gleitkommazahlen auszugebenstd::cout << std::scientific << 3.14159;3.141590e+00
std::hexGanzzahlen zur Anzeige in Hexadezimal (Basis 16) festlegenstd::cout << std::hex << 42;2a
std::octGanzzahlen zur Anzeige in Oktal (Basis 8) festlegenstd::cout << std::oct << 42;52
std::decGanzzahlen zur Anzeige in Basis 10 festlegen (Standard).std::cout << std::dec << 42;42
std::showbaseBasispräfix anzeigen (z. B.0xhexadezimale Darstellung)std::cout << std::showbase << std::hex << 42;0x2a
std::noshowbaseBasispräfix ausblenden (Standard)std::cout << std::noshowbase << std::hex << 42;2a
std::uppercaseHexadezimalbuchstaben in Großbuchstaben anzeigenstd::cout << std::uppercase << std::hex << 42;2A
std::nouppercaseHexadezimalbuchstaben werden in Kleinbuchstaben angezeigt (Standard).std::cout << std::nouppercase << std::hex << 42;2a
std::showposVor positiven Zahlen anzeigen+Symbolstd::cout << std::showpos << 42;+42
std::noshowposNicht für positive Zahlen anzeigen+Vorzeichen (Standard)std::cout << std::noshowpos << 42;42
std::boolalphaBoolesche Wertetrue/falseAusgabestd::cout << std::boolalpha << true;true
std::noboolalphaBoolesche Werte1/0Ausgabe (Standard)std::cout << std::noboolalpha << true;1
std::setbase(int n)Basis für Ganzzahlen festlegen (unterstützt 8, 10, 16).std::cout << std::setbase(16) << 42;2a
std::resetiosflagsDen angegebenen Stream-Zustand zurücksetzenstd::cout << std::resetiosflags(std::ios::showbase) << std::hex << 42;2a
std::setiosflagsDen angegebenen Stream-Zustand setzenstd::cout << std::setiosflags(std::ios::showbase) << std::hex << 42;0x2a

Beispiel

1. Breite festlegen

NutzungsetwKann die Breite der Ausgabe festlegen. Wenn die Anzahl der Zeichen im Ausgabeinhalt kleiner als die festgelegte Breite ist, wird der verbleibende Teil mit Leerzeichen aufgefüllt.

Beispiel

#include <iostream>
#include <iomanip>

int main() {
    std::cout << std::setw(10) << "Hallo" << std::endl;
    return 0;
}

Ausgabe:

Hello

2. Genauigkeit festlegen

NutzungsetprecisionKann die Anzahl der signifikanten Stellen für Gleitkommazahlen festlegen.

Beispiel

#include <iostream>
#include <iomanip>

int main() {
    double pi = 3.141592653589793;
    std::cout << "Standard: " << pi << "\n";
    std::cout << "Genauigkeit festlegen (3): " << std::setprecision(3) << Pi << "\n";
    std::cout << "Genauigkeit festlegen (7): " << std::setprecision(7) << Pi << "\n";
    return 0;
}

Ausgabe:

Default: 3.14159
Set precision (3): 3.14
Set precision (7): 3.141593

3. Festkomma- und wissenschaftliche Notation

fixedundscientificKann das Ausgabeformat von Gleitkommazahlen steuern.

Beispiel

#include <iostream>
#include <iomanip>

int main() {
    double num = 123456789.0;
    std::cout << "Fixed: " << std::fixed << num << std::endl;
    std::cout << "Scientific: " << std::scientific << num << std::endl;
    return 0;
}

Ausgabe:

Fixed: 123456789.000000
Scientific: 1.23456789e+08

4. Setzen des Füllzeichens

NutzungsetfillKann das Füllzeichen setzen, normalerweise mitsetwWird zusammen verwendet.

Beispiel

#include <iostream>
#include <iomanip>

int main() {
    std::cout << std::setfill('*') << std::setw(10) << "World" << std::endl;
    return 0;
}

Ausgabe:

*****World

5. Setzen und Zurücksetzen von Format-Flags

setiosflagsundresetiosflagsKann die Format-Flags des Streams setzen oder zurücksetzen.

Beispiel

#include <iostream>
#include <iomanip>

int main() {
    std::cout << std::setiosflags(std::ios::uppercase) << std::hex << 255 << std::endl;
    std::cout << std::resetiosflags(std::ios::uppercase) << std::hex << 255 << std::endl;
    return 0;
}

Ausgabe:

FF
ff
Weitere Erweiterungen