Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Klasse beschreibt die Speicher- und Memberfunktionen, die sowohl für Eingabe- als auch Ausgabedatenströme verwendet werden, die nicht von den Vorlagenparametern abhängen. (Die Klassenvorlage basic_ios beschreibt, was häufig ist und von Vorlagenparametern abhängig ist.)
Ein Objekt der Klasse ios_base speichert Formatierungsinformationen, aus denen Folgendes besteht:
Formatieren von Flags in einem Objekt vom Typ
fmtflags.Ein Ausnahmeformat in einem Objekt vom Typ
iostate.Eine Feldbreite in einem Objekt vom Typ
int.Eine Anzeigegenauigkeit in einem Objekt vom Typ
int.Ein
localeObjekt in einem Objekt vom Typlocale.Zwei erweiterbare Arrays mit Elementen vom Typ
longundvoidZeiger.
Ein Objekt der Klasse ios_base speichert auch Datenstromstatusinformationen in einem Objekt vom Typ iostateund einen Rückrufstapel.
Member
Konstruktoren
| Name | Beschreibung |
|---|---|
ios_base |
Erstellt ios_base-Objekte. |
TypeDefs
| Name | Beschreibung |
|---|---|
event_callback |
Beschreibt eine Funktion, die an register_call. |
fmtflags |
Konstanten, mit denen das Aussehen der Ausgabe angegeben wird. |
iostate |
Definiert Konstanten, die den Zustand eines Streams beschreiben. |
openmode |
Beschreibt, wie mit einem Stream interagiert wird. |
seekdir |
Gibt den Startpunkt für Offsetvorgänge an. |
Enumerationen
| Name | Beschreibung |
|---|---|
event |
Gibt Ereignistypen an. |
Konstanten
| Name | Beschreibung |
|---|---|
adjustfield |
Eine Bitmaske, die als internal | | leftright. |
app |
Gibt an, dass vor jedem Einfügevorgang bis zum Ende eines Streams gesucht werden soll. |
ate |
Gibt an, dass bis zum Ende eines Streams gesucht werden soll, wenn dessen steuerndes Objekt erstmalig erstellt wird. |
badbit |
Protokolliert einen Verlust der Integrität des Streampuffers. |
basefield |
Eine Bitmaske, die als dec | | hexoct. |
beg |
Gibt an, dass relativ zum Anfang einer Sequenz gesucht werden soll. |
binary |
Gibt an, dass eine Datei als binärer Stream und nicht als Textstream gelesen werden soll. |
boolalpha |
Gibt an, dass Objekte vom Typ bool als Namen (wie true und false) statt als numerische Werte eingefügt oder extrahiert werden sollen. |
cur |
Gibt an, dass in einer Sequenz relativ zur aktuellen Position gesucht werden soll. |
dec |
Gibt an, dass ganzzahlige Werte im Dezimalformat eingefügt oder extrahiert werden sollen. |
end |
Gibt an, dass relativ zum Ende einer Sequenz gesucht werden soll. |
eofbit |
Protokolliert beim Extrahieren aus einem Stream das Dateiende. |
failbit |
Protokolliert einen Fehler beim Extrahieren eines gültigen Felds aus einem Stream. |
fixed |
Gibt an, dass Gleitkommawerte im Festkommaformat (ohne Exponentenfeld) eingefügt werden sollen. |
floatfield |
Eine Bitmaske, die als fixed | scientific |
goodbit |
Kein Zustandsbit ist gesetzt. |
hex |
Gibt an, dass ganzzahlige Werte im Hexadezimalformat eingefügt oder extrahiert werden sollen. |
in |
Gibt die Extraktion aus einem Stream an. |
internal |
Füllt bis zu einer Feldbreite auf, indem Füllzeichen an einem Punkt eingefügt werden, der sich intern in einem generierten numerischen Feld befindet. |
left |
Gibt linksbündige Ausrichtung an. |
oct |
Gibt an, dass ganzzahlige Werte im Oktalformat eingefügt oder extrahiert werden sollen. |
out |
Gibt die Einfügung in einen Stream an. |
right |
Gibt rechtsbündige Ausrichtung an. |
scientific |
Gibt an, dass Gleitkommawerte im wissenschaftlichen Format (mit Exponentenfeld) eingefügt werden sollen. |
showbase |
Gibt die Einfügung eines Präfixes an, das die Basis eines generierten ganzzahigen Felds angibt. |
showpoint |
Gibt die unbedingte Einfügung eines Dezimaltrennzeichens in einem generierten Gleitkommafeld an. |
showpos |
Gibt die Einfügung eines Pluszeichens (+) in einem nicht negativen generierten numerischen Feld an. |
skipws |
Gibt an, dass führende Leerzeichen vor bestimmten Extraktionen übersprungen werden sollen. |
trunc |
Gibt an, dass der Inhalt einer vorhandenen Datei gelöscht werden soll, wenn deren steuerndes Objekt erstellt wird. |
unitbuf |
Bewirkt, dass die Ausgabe nach jeder Einfügung geleert wird. |
uppercase |
Gibt an, dass bei bestimmten Einfügevorgängen die Großbuchstaben eingefügt werden, die den Kleinbuchstaben entsprechen. |
Funktionen
| Name | Beschreibung |
|---|---|
failure |
Die Memberklasse dient als Basisklasse für alle Ausnahmen, die von der Memberfunktion in der Klassenvorlage basic_iosgelöscht werden. |
flags |
Legt die aktuellen Flageinstellungen fest oder gibt sie zurück. |
getloc |
Gibt das gespeicherte locale Objekt zurück. |
imbue |
Ändert das Gebietsschema. |
Init |
Erstellt beim Erstellen die Standardobjekte iostream . |
iword |
Weist einen als iword zu speichernden Wert zu. |
precision |
Gibt die Anzahl der anzuzeigenden Ziffern in einer Gleitkommazahl an. |
pword |
Weist einen als pword zu speichernden Wert zu. |
register_callback |
Gibt eine Rückruffunktion an. |
setf |
Legt die angegebenen Flags fest. |
sync_with_stdio |
Stellt sicher, dass iostream und C-Laufzeitbibliotheksvorgänge in der Reihenfolge auftreten, in der sie im Quellcode angezeigt werden. |
unsetf |
Bewirkt, dass die angegebenen Flags deaktiviert werden. |
width |
Legt die Länge des Ausgabestreams fest. |
xalloc |
Gibt an, dass eine Variable Teil des Streams sein soll. |
Operatoren
| Name | Beschreibung |
|---|---|
operator= |
Der Zuweisungsoperator für ios_base-Objekte. |
Anforderungen
Header: <ios>
Namespace:std
event
Gibt Ereignistypen an.
enum event {
erase_event,
imbue_event,
copyfmt_event};
Hinweise
Der Typ ist ein Aufzählungstyp, der ein Objekt beschreibt, das das Rückrufereignis speichern kann, das als Argument für eine funktion verwendet wird, die bei register_callback. Die unterschiedlichen Ereigniswerte lauten:
copyfmt_event, um einen Rückruf zu identifizieren, der am Ende eines Anrufscopyfmtvor dem Kopieren des Ausnahmeformats auftritt.erase_event, um einen Rückruf zu identifizieren, der am Anfang eines Anrufscopyfmtoder am Anfang eines Aufrufs an den Destruktor für*this.imbue_event, um einen Rückruf zu identifizieren, der am Ende eines Aufrufsimbuevor der Rückgabe der Funktion auftritt.
Beispiel
Ein Beispiel finden Sie unter register_callback.
event_callback
Beschreibt eine Funktion, die an register_call.
typedef void (__cdecl *event_callback)(
event _E,
ios_base& _Base,
int _I);
Parameter
_E
Die event.
_Base
Der Stream, in dem das Ereignis aufgerufen wurde.
_I
Eine benutzerdefinierte Nummer.
Hinweise
Der Typ beschreibt einen Zeiger auf eine Funktion, die registriert register_callbackwerden kann. Der Typ der Funktion darf keine Ausnahme auslösen.
Beispiel
Ein Beispiel, das verwendet wird, event_callbackfinden Sie unter register_call .
failure
Die Klasse failure definiert die Basisklasse für alle Typen von Objekten, die von Funktionen in der iostreams-Bibliothek als Ausnahmen ausgelöst wurden, um Fehler zu melden, die während der Streampuffervorgänge erkannt wurden.
namespace std {
class failure : public system_error {
public:
explicit failure(
const string& _Message,
const error_code& _Code = io_errc::stream);
explicit failure(
const char* str,
const error_code& _Code = io_errc::stream);
};
}
Hinweise
Der von what() zurückgegebene Wer ist eine Kopie von _Message, die möglicherweise mit einem auf _Code basierten Test erweitert wurde. Wenn _Code nicht angegeben ist, wird der Standardwert make_error_code(io_errc::stream).
Beispiel
// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.exceptions(ios::failbit);
try
{
file.open( "rm.txt", ios_base::in );
// Opens nonexistent file for reading
}
catch( ios_base::failure f )
{
cout << "Caught an exception: " << f.what() << endl;
}
}
Caught an exception: ios_base::failbit set
flags
Legt die aktuellen Flageinstellungen fest oder gibt sie zurück.
fmtflags flags() const;
fmtflags flags(fmtflags fmtfl);
Parameter
fmtfl
Die neue Einstellung fmtflags.
Rückgabewert
Die vorherige oder aktuelle Einstellung fmtflags.
Hinweise
Eine Liste der Flags finden Sie ios_base::fmtflags unter.
Die erste Memberfunktion gibt die gespeicherten Formatflags zurück. Die zweite Memberfunktion speichert fmtfl in den Formatflags und gibt den zuletzt gespeicherten Wert zurück.
Beispiel
// ios_base_flags.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
cout << cout.flags( ) << endl;
cout.flags( ios::dec | ios::boolalpha );
cout << cout.flags( );
}
513
16896
fmtflags
Konstanten, mit denen das Aussehen der Ausgabe angegeben wird.
class ios_base {
public:
typedef implementation-defined-bitmask-type fmtflags;
static const fmtflags boolalpha;
static const fmtflags dec;
static const fmtflags fixed;
static const fmtflags hex;
static const fmtflags internal;
static const fmtflags left;
static const fmtflags oct;
static const fmtflags right;
static const fmtflags scientific;
static const fmtflags showbase;
static const fmtflags showpoint;
static const fmtflags showpos;
static const fmtflags skipws;
static const fmtflags unitbuf;
static const fmtflags uppercase;
static const fmtflags adjustfield;
static const fmtflags basefield;
static const fmtflags floatfield;
// ...
};
Hinweise
Unterstützt die Manipulatoren in ios.
Der Typ ist ein Bitmaskentyp, der ein Objekt beschreibt, das Formatflags speichern kann. Die unterschiedlichen Flagwerte (Elemente) sind:
dec, um ganzzahlige Werte im Dezimalformat einzufügen oder zu extrahieren.hex, um ganzzahlige Werte im Hexadezimalformat einzufügen oder zu extrahieren.oct, um ganzzahlige Werte im Oktalformat einzufügen oder zu extrahieren.showbase, um ein Präfix einzufügen, das die Basis eines generierten ganzzahligen Felds angibt.internal, um nach Bedarf bis zu einer Feldbreite aufzufüllen, indem Füllzeichen an einem Punkt eingefügt werden, der sich intern in einem generierten numerischen Feld befindet. (Informationen zum Festlegen der Feldbreite finden Sie untersetw).left, um nach Bedarf bis zu einer Feldbreite aufzufüllen, indem Füllzeichen am Ende eines generierten Feld angefügt werden (linksbündig ausrichten).right, um nach Bedarf bis zu einer Feldbreite aufzufüllen, indem Füllzeichen am Anfang eines generierten Feld eingefügt werden (rechtsbündig ausrichten).boolalpha, um Objekte des Typsboolnicht als numerische Werte, sondern als Namen (z. B.trueundfalse) einzufügen oder zu extrahieren.fixed, um Gleitkommawerte im Festkommaformat (ohne Exponentenfeld) einzufügen.scientific, um Gleitkommawerte im wissenschaftlichen Format (mit Exponentenfeld) einzufügen.showpoint, um ein Dezimaltrennzeichen unbedingt in ein generiertes Gleitkommafeld einzufügen.showpos, um ein Pluszeichens in ein generiertes nicht negatives numerisches Feld einzufügen.skipws, um führende Leerzeichen vor bestimmten Extraktionen zu überspringen.unitbuf, um die Ausgabe nach jedem Einfügevorgang zu leeren.uppercase, um bei bestimmten Einfügevorgängen die Großbuchstaben einzufügen, die den Kleinbuchstaben entsprechen.
Zusätzlich gibt es weitere nützliche Werte:
adjustfield, eine Bitmaske, die alsinternal|left|rightbasefield, definiert alsdec|hex|octfloatfield, definiert alsfixed|scientific
Beispiele für Funktionen, die diese Formatkennzeichnungen ändern, finden Sie unter <iomanip>.
getloc
Gibt das gespeicherte locale Objekt zurück.
locale getloc() const;
Rückgabewert
Das gespeicherte locale Objekt.
Beispiel
// ios_base_getlock.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
cout << cout.getloc( ).name( ).c_str( ) << endl;
}
C
imbue
Ändert das Gebietsschema.
locale imbue(const locale& _Loc);
Parameter
_Loc
Die neue Benutzergebietsschema-Einstellung.
Rückgabewert
Das vorherige Gebietsschema.
Hinweise
Die Memberfunktion speichert _Loc im locale Objekt und meldet dann das Rückrufereignis und imbue_event. Es gibt den zuletzt gespeicherten Wert zurück.
Beispiel
Ein Beispiel finden Sie basic_ios::imbue unter.
Init
Erstellt beim Erstellen die Standardobjekte iostream .
class Init { };
Hinweise
Die geschachtelte Klasse beschreibt ein Objekt, dessen Konstruktion sicherstellt, dass die Standardobjekte iostream ordnungsgemäß erstellt werden, auch bevor ein Konstruktor für ein beliebiges statisches Objekt ausgeführt wird.
ios_base
Erstellt ios_base-Objekte.
ios_base();
Hinweise
Der (geschützte) Konstruktor führt keine Aktion aus. Ein späterer Aufruf von basic_ios::init muss das Objekt initialisieren, bevor es sicher zerstört werden kann. Daher ist die einzige sichere Verwendung für die Klasse ios_base als Basisklasse für die Klassenvorlage basic_ios.
iostate
Der Typ der Konstanten, die den Zustand eines Streams beschreiben.
class ios_base {
public:
typedef implementation-defined-bitmask-type iostate;
static const iostate badbit;
static const iostate eofbit;
static const iostate failbit;
static const iostate goodbit;
// ...
};
Hinweise
Der Typ ist ein Bitmaskentyp, der ein Objekt beschreibt, das Informationen zum Streamzustand speichern kann. Die unterschiedlichen Flagwerte (Elemente) sind:
badbitzur Protokollierung eines Verlusts der Integrität des Streampuffers.eofbitzur Protokollierung des Dateiendes beim Extrahieren aus einem Stream.failbitzur Protokollierung eines Fehlers beim Extrahieren eines gültigen Felds aus einem Stream.
Wenn keines der oben genannten Bits festgelegt ist, ist goodbit ein nützlicher Wert (goodbit ist auf jeden Fall 0).
iword
Weist einen als iword zu speichernden Wert zu.
long& iword(int idx);
Parameter
idx
Der Index des als iword zu speichernden Werts.
Hinweise
Die Memberfunktion gibt einen Verweis auf Element-IDX des erweiterbaren Arrays mit Elementen vom Typ longzurück. Alle Elemente sind tatsächlich vorhanden und speichern zunächst den Wert 0. Der zurückgegebene Verweis ist nach dem nächsten Aufruf iword für das Objekt ungültig, nachdem das Objekt durch einen Aufruf basic_ios::copyfmtvon oder nach dem Zerstören des Objekts geändert wurde.
Wenn idx der eindeutige Speicher für das Element nicht verfügbar ist, ruft die Funktion auf setstate(badbit) und gibt einen Verweis zurück, der möglicherweise nicht eindeutig ist.
Rufen Sie zum Abrufen eines eindeutigen Indexes für die Verwendung für alle Objekte des Typs ios_baseauf xalloc.
Beispiel
Ein Beispiel für die Verwendung von iword finden Sie unter xalloc.
openmode
Beschreibt, wie mit einem Stream interagiert wird.
class ios_base {
public:
typedef implementation-defined-bitmask-type openmode;
static const openmode in;
static const openmode out;
static const openmode ate;
static const openmode app;
static const openmode trunc;
static const openmode binary;
// ...
};
Hinweise
Der Öffnungsmodus für mehrere iostream Objekte. Die Flagwerte sind:
| Konstante | Auswirkung |
|---|---|
app |
Suchen nach dem Ende des Datenstroms vor jedem Schreiben |
ate |
Suchen nach dem Ende des Datenstroms unmittelbar nach dem Öffnen |
binary |
Öffnen im binären Modus. (Eine Beschreibung des Binärmodus finden Sie unter fopen .) |
in |
Zum Lesen öffnen |
out |
Offen zum Schreiben |
trunc |
Löschen des Inhalts der Datei nach dem Öffnen |
Beispiel
// ios_base_openmode.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
}
operator=
Der Zuweisungsoperator für ios_base-Objekte.
ios_base& operator=(const ios_base& right);
Parameter
right
Ein Objekt des Typs ios_base.
Rückgabewert
Das Objekt, an das zugewiesen wird.
Hinweise
Der Operator kopiert die gespeicherte Formatinformation und erstellt gleichzeitig eine Kopie von erweiterbaren Arrays. Dann wird *this zurückgegeben. Der Rückrufstapel wird nicht kopiert.
Dieser Operator wird nur von ios_base abgeleiteten Klassen verwendet.
precision
Gibt die Anzahl der anzuzeigenden Ziffern in einer Gleitkommazahl an.
streamsize precision() const;
streamsize precision(streamsize _Prec);
Parameter
_Prec
Die Anzahl der anzuzeigenden signifikanten Stellen, oder die Anzahl der Stellen nach dem Komma bei fester Schreibweise.
Rückgabewert
Die erste Memberfunktion gibt die gespeicherte Anzeigegenauigkeit zurück. Die zweite Memberfunktion speichert _Prec in der Anzeigegenauigkeit und gibt den zuletzt gespeicherten Wert zurück.
Hinweise
Gleitkommazahlen werden in fester Schreibweise mit fixed.
Beispiel
// ios_base_precision.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
float i = 31.31234F;
cout.precision( 3 );
cout << i << endl; // display three significant digits
cout << fixed << i << endl; // display three digits after decimal
// point
}
31.3
31.312
pword
Weist einen als pword zu speichernden Wert zu.
void *& pword(int index);
Parameter
index
Der Index des als pword zu speichernden Werts.
Hinweise
Die Memberfunktion gibt einen Verweis auf den Elementindex des erweiterbaren Arrays mit Elementen des Typzeigers void zurück. Alle Elemente sind tatsächlich vorhanden und speichern zunächst den NULL-Zeiger. Der zurückgegebene Verweis ist nach dem nächsten Aufruf pword für das Objekt ungültig, nachdem das Objekt durch einen Aufruf basic_ios::copyfmtvon oder nach dem Zerstören des Objekts geändert wurde.
Wenn Index negativ ist oder eindeutiger Speicher für das Element nicht verfügbar ist, ruft die Funktion auf setstate(badbit) und gibt einen Verweis zurück, der möglicherweise nicht eindeutig ist.
Rufen Sie zum Abrufen eines eindeutigen Indexes für die Verwendung für alle Objekte des Typs ios_baseauf xalloc.
Beispiel
Unter xalloc finden Sie ein Beispiel für die Verwendung von pword.
register_callback
Gibt eine Rückruffunktion an.
void register_callback(
event_callback pfn, int idx);
Parameter
pfn
Ein Zeiger auf die Rückruffunktion.
idx
Eine benutzerdefinierte Nummer.
Hinweise
Die Memberfunktion verschiebt das Paar {pfn, idx} auf den gespeicherten Rückrufstapel-Rückrufstapel. Wenn ein Rückrufereignis ev gemeldet wird, werden die Funktionen durch den Ausdruck (*pfn)(ev, *this, idx)in umgekehrter Reihenfolge der Registrierung aufgerufen.
Beispiel
// ios_base_register_callback.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
void callback1( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback1" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
}
}
void callback2( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback2" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
}
}
int main( )
{
// Make sure the imbue will not throw an exception
// assert( setlocale( LC_ALL, "german" )!=NULL );
cout.register_callback( callback1, 0 );
cin.register_callback( callback2, 0 );
try
{
// If no exception because the locale's not found,
// generate an imbue_event on callback1
cout.imbue(locale("german"));
}
catch(...)
{
cout << "exception" << endl;
}
// This will
// (1) erase_event on callback1
// (2) copyfmt_event on callback2
cout.copyfmt(cin);
// We get two erase events from callback2 at the end because
// both cin and cout have callback2 registered when cin and cout
// are destroyed at the end of program.
}
in callback1
an imbue event
in callback1
an erase event
in callback2
an copyfmt event
in callback2
an erase event
in callback2
an erase event
seekdir
Gibt den Startpunkt für Offsetvorgänge an.
namespace std {
class ios_base {
public:
typedef implementation-defined-enumerated-type seekdir;
static const seekdir beg;
static const seekdir cur;
static const seekdir end;
// ...
};
}
Hinweise
Der Typ ist ein Aufzählungstyp, der ein Objekt beschreibt, das den Suchmodus speichern kann, der als Argument für die Memberfunktionen mehrerer iostream Klassen verwendet wird. Die unterschiedlichen Flagwerte sind:
beg, um die aktuelle Lese- oder Schreibposition relativ zum Anfang einer Sequenz (Array, Datenstrom oder Datei) zu suchen(ändern).cur, um relativ zur aktuellen Position innerhalb einer Sequenz zu suchen.end, um relativ zum Ende einer Sequenz zu suchen.
Beispiel
// ios_base_seekdir.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
file.seekp( 0, ios_base::beg );
file << "a";
file.seekp( 0, ios_base::end );
file << "a";
}
setf
Legt die angegebenen Flags fest.
fmtflags setf(
fmtflags _Mask
);
fmtflags setf(
fmtflags _Mask,
fmtflags _Unset
);
Parameter
_Mask
Die Flags, die eingeschaltet werden sollen.
_Unset
Die zu deaktivierenden Kennzeichnungen.
Rückgabewert
Die vorherigen Formatkennzeichnungen
Hinweise
Die erste Memberfunktion ruft effektiv auf flags(_Mask | _Flags) (ausgewählte Bits festlegen) und gibt dann die vorherigen Formatkennzeichnungen zurück. Die zweite Memberfunktion ruft effektiv auf flags(_Mask & fmtfl, flags & ~_Mask) (ersetzen Sie ausgewählte Bits unter einer Maske) und geben dann die vorherigen Formatkennzeichnungen zurück.
Beispiel
// ios_base_setf.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
int i = 10;
cout << i << endl;
cout.unsetf( ios_base::dec );
cout.setf( ios_base::hex );
cout << i << endl;
cout.setf( ios_base::dec );
cout << i << endl;
cout.setf( ios_base::hex, ios_base::dec );
cout << i << endl;
}
sync_with_stdio
Stellt sicher, dass iostream und C-Laufzeitbibliotheksvorgänge in der Reihenfolge auftreten, in der sie im Quellcode angezeigt werden.
static bool sync_with_stdio(
bool _Sync = true
);
Parameter
_Sync
Gibt an, ob alle Datenströme synchronisiert sind.stdio
Rückgabewert
Vorherige Einstellung für diese Funktion.
Hinweise
Die statische Memberfunktion speichert ein stdio Synchronisierungskennzeichen, das anfänglich ist true. Wenn true, stellt dieses Flag sicher, dass Vorgänge in derselben Datei ordnungsgemäß zwischen den Funktionen und Funktionen synchronisiert werden, die iostreams in der C++-Standardbibliothek definiert sind. Andernfalls kann die Synchronisierung garantiert werden, aber die Leistung kann verbessert werden. Die Funktion speichert _Sync im Synchronisierungskennzeichen stdio und gibt den vorherigen gespeicherten Wert zurück. Sie können es zuverlässig aufrufen, bevor Sie Vorgänge für die Standarddatenströme ausführen.
unsetf
Deaktiviert die angegebenen Flags.
void unsetf(
fmtflags _Mask
);
Parameter
_Mask
Die Kennzeichnungen, die Sie deaktivieren möchten.
Hinweise
Die Memberfunktion ruft effektiv auf flags(~_Mask & flags) (ausgewählte Bits löschen).
Beispiel
Ein Beispiel für die Verwendung unsetffinden Sie ios_base::setf unter .
width
Legt die Länge des Ausgabestreams fest.
streamsize width( ) const;
streamsize width(
streamsize _Wide
);
Parameter
_Wide
Die gewünschte Größe des Ausgabestreams.
Rückgabewert
Die aktuelle Einstellung für die Breite.
Hinweise
Die erste Memberfunktion gibt die breite des gespeicherten Felds zurück. Die zweite Memberfunktion speichert _Wide in der Feldbreite und gibt den vorherigen gespeicherten Wert zurück.
Beispiel
// ios_base_width.cpp
// compile with: /EHsc
#include <iostream>
int main( ) {
using namespace std;
cout.width( 20 );
cout << cout.width( ) << endl;
cout << cout.width( ) << endl;
}
20
0
xalloc
Gibt an, dass eine Variable Teil des Datenstroms ist.
static int xalloc( );
Rückgabewert
Die statische Memberfunktion gibt einen gespeicherten statischen Wert zurück, der für jeden Aufruf erhöht wird.
Hinweise
Sie können den Rückgabewert als eindeutiges Indexargument verwenden, wenn Sie die Memberfunktionen iword aufrufen oder pword.
Beispiel
// ios_base_xalloc.cpp
// compile with: /EHsc
// Lets you store user-defined information.
// iword, jword, xalloc
#include <iostream>
int main( )
{
using namespace std;
static const int i = ios_base::xalloc();
static const int j = ios_base::xalloc();
cout.iword( i ) = 11;
cin.iword( i ) = 13;
cin.pword( j ) = "testing";
cout << cout.iword( i ) << endl;
cout << cin.iword( i ) << endl;
cout << ( char * )cin.pword( j ) << endl;
}
11
13
testing
Siehe auch
Threadsicherheit in der C++-Standardbibliothek
iostream-Programmierung
iostreams-Konventionen