setf()
eingehen.
Die Umschaltung auf oktale Ausgabe ganzzahliger Werte erfolgt z.B. über die Anweisung:
cout.setf(ios::oct, ios::basefield);
Erläuterung:
Die Elementfunktion setf(long,long)
setzt zunächst das
Format-Bitfeld -- in unserem Beispiel ios::basefield
-- auf 0,
d.h. alle Flags(Bits) dieses Bitfeldes sind deaktiviert. Anschließend wird
das im ersten Argument -- hier: ios::oct
-- angegebende
Bitfeld gesetzt.
Neben dem Setzen des Flags an sich hat diese Funktion aber noch eine
weitere Eigenschaft, die nicht unerwähnt bleiben sollte. setf()
besitzt als Rückgabewert einen long
-Integerwert, der dem
vorherige Zustand entspricht. Damit kann der alte Zustand gespeichert werden
und man besitzt eine einfache Möglichkeit, den alten Zustand der gesetzten
Flags wiederherzustellen.
Hierzu muß lediglich der Wert des alten
Zustandes als erstes Argument in einem Aufruf von setf(long, long)
angegeben werden.
Auf der folgenden Seite wird dies anhand eines kurzen Codesegmentes erläutert.