Namespaces
Variants

std:: basic_ios

From cppreference.net
< cpp ‎ | io
Definiert im Header <ios>
template <

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_ios

: public std:: ios_base

Die Klasse std::basic_ios bietet Einrichtungen zur Kommunikation mit Objekten, die über eine std::basic_streambuf -Schnittstelle verfügen. Mehrere std::basic_ios -Objekte können auf ein tatsächliches std::basic_streambuf -Objekt verweisen.

cpp/io/ios base std-basic ios-inheritance.svg

Vererbungsdiagramm

Es werden mehrere Typdefinitionen für gängige Zeichentypen bereitgestellt:

Definiert im Header <ios>
Typ Definition
std::ios std :: basic_ios < char >
std::wios std :: basic_ios < wchar_t >

Inhaltsverzeichnis

Mitgliedertypen

Mitgliedertyp Definition
char_type CharT
traits_type Traits ; das Programm ist fehlerhaft, wenn Traits::char_type nicht CharT ist.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Öffentliche Elementfunktionen

Konstruiert das Objekt
(öffentliche Elementfunktion)
[virtual]
zerstört das Objekt
(virtuelle öffentliche Elementfunktion)
operator=
Der Kopierzuweisungsoperator ist gelöscht
(öffentliche Elementfunktion)
Statusfunktionen
prüft, ob kein Fehler aufgetreten ist, d.h. I/O-Operationen verfügbar sind
(öffentliche Elementfunktion)
prüft, ob das Dateiende erreicht wurde
(öffentliche Elementfunktion)
prüft, ob ein Fehler aufgetreten ist
(öffentliche Elementfunktion)
prüft, ob ein nicht behebbarer Fehler aufgetreten ist
(öffentliche Elementfunktion)
prüft, ob ein Fehler aufgetreten ist (Synonym für fail() )
(öffentliche Elementfunktion)
prüft, ob kein Fehler aufgetreten ist (Synonym für ! fail() )
(öffentliche Elementfunktion)
gibt Statusflags zurück
(öffentliche Elementfunktion)
setzt Statusflags
(öffentliche Elementfunktion)
modifiziert Statusflags
(öffentliche Elementfunktion)
Formatierung
kopiert Formatierungsinformationen
(öffentliche Elementfunktion)
verwaltet das Füllzeichen
(öffentliche Elementfunktion)
Verschiedenes
verwaltet die Ausnahmemaske
(öffentliche Elementfunktion)
setzt das Gebietsschema
(öffentliche Elementfunktion)
verwaltet den assoziierten Streampuffer
(öffentliche Elementfunktion)
verwaltet den verknüpften Stream
(öffentliche Elementfunktion)
verengt Zeichen
(öffentliche Elementfunktion)
erweitert Zeichen
(öffentliche Elementfunktion)

Geschützte Memberfunktionen

initialisiert einen standardkonstruierten std::basic_ios
(geschützte Elementfunktion)
(C++11)
verschiebt von einem anderen std::basic_ios außer rdbuf
(geschützte Elementfunktion)
(C++11)
tauscht mit einem anderen std::basic_ios außer rdbuf
(geschützte Elementfunktion)
ersetzt den rdbuf ohne dessen Fehlerstatus zu löschen
(geschützte Elementfunktion)

Geerbt von std:: ios_base

Memberfunktionen

Formatierung
verwaltet Formatierungsflags
(öffentliche Elementfunktion von std::ios_base )
setzt spezifische Formatierungsflags
(öffentliche Elementfunktion von std::ios_base )
löscht spezifische Formatierungsflags
(öffentliche Elementfunktion von std::ios_base )
verwaltet Dezimalgenauigkeit von Gleitkommaoperationen
(öffentliche Elementfunktion von std::ios_base )
verwaltet Feldbreite
(öffentliche Elementfunktion von std::ios_base )
Locales
setzt Locale
(öffentliche Elementfunktion von std::ios_base )
gibt aktuelle Locale zurück
(öffentliche Elementfunktion von std::ios_base )
Internes erweiterbares Array
[static]
gibt eine programmweit eindeutige Ganzzahl zurück, die sicher als Index für pword() und iword() verwendet werden kann
(öffentliche statische Elementfunktion von std::ios_base )
ändert die Größe des privaten Speichers falls nötig und ermöglicht Zugriff auf das long Element am gegebenen Index
(öffentliche Elementfunktion von std::ios_base )
ändert die Größe des privaten Speichers falls nötig und ermöglicht Zugriff auf das void * Element am gegebenen Index
(öffentliche Elementfunktion von std::ios_base )
Sonstiges
registriert Ereignis-Callback-Funktion
(öffentliche Elementfunktion von std::ios_base )
legt fest ob C++ und C I/O-Bibliotheken interoperabel sind
(öffentliche statische Elementfunktion von std::ios_base )
Elementklassen
Stream-Exception
(öffentliche Elementklasse von std::ios_base )
initialisiert Standard-Stream-Objekte
(öffentliche Elementklasse von std::ios_base )

Mitgliedstypen und Konstanten

Typ Erklärung
Stream-Öffnungsmodus-Typ

Folgende Konstanten sind ebenfalls definiert:

Konstante Erklärung
app Vor jedem Schreibvorgang zum Ende des Streams positionieren
binary Im Binärmodus öffnen
in Zum Lesen öffnen
out Zum Schreiben öffnen
trunc Stream-Inhalt beim Öffnen verwerfen
ate Unmittelbar nach dem Öffnen zum Ende des Streams positionieren
noreplace (C++23) Im exklusiven Modus öffnen

(Typedef)
Formatierungsflags-Typ

Die folgenden Konstanten sind ebenfalls definiert:

Konstante Erklärung
dec Dezimalbasis für Integer-Ein-/Ausgabe verwenden: siehe std::dec
oct Oktalbasis für Integer-Ein-/Ausgabe verwenden: siehe std::oct
hex Hexadezimalbasis für Integer-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 Designpunkt 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 Integer-Ausgabe generieren, Währungsindikator bei monetärer Ein-/Ausgabe erfordern: siehe std::showbase
showpoint Dezimalpunktzeichen für Gleitkommazahlen-Ausgabe 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 entsprechende Großbuchstaben in bestimmten Ausgabeoperationen ersetzen: siehe std::uppercase

(Typdefinition)
Zustandstyp des Streams

Folgende Konstanten sind ebenfalls definiert:

Konstante Erklärung
goodbit kein Fehler
badbit nicht behebbarer Stream-Fehler
failbit Ein-/Ausgabeoperation fehlgeschlagen (Formatierungs- oder Extraktionsfehler)
eofbit zugehörige Eingabesequenz hat Dateiende erreicht

(Typdefinition)
Suchrichtungstyp

Folgende Konstanten sind ebenfalls definiert:

Konstante Erklärung
beg der Anfang eines Streams
end das Ende eines Streams
cur die aktuelle Position des Stream-Positionsindikators

(Typdefinition)
gibt den Ereignistyp an
(enum)
Callback-Funktionstyp
(typedef)

Hinweise

Einfache Implementierung von std::basic_ios speichert nur die folgenden Member (die alle von den Template-Parametern abhängen und somit nicht Teil von std::ios_base sein können):

  • das Füllzeichen (siehe fill() )
  • der verknüpfte Stream-Zeiger (siehe tie() )
  • der zugehörige Stream-Puffer-Zeiger (siehe rdbuf() ).

Tatsächliche Implementierungen variieren:

Microsoft Visual Studio speichert nur diese drei Member.

LLVM libc++ speichert 1 Mitglied weniger: es verwaltet den rdbuf -Zeiger als ein void * -Mitglied von ios_base .

GNU libstdc++ speichert 4 zusätzliche Mitglieder: drei zwischengespeicherte Facetten und ein Flag, das anzeigt, dass fill initialisiert wurde.