int wert=2044;
long alte_basis;
cout.setf(ios::oct, ios::basefield);
cout << "Der Wert betraegt: " << wert <<
endl; // Ausgabe in octal
// alte Zahlenbasis speichern und Umschalten auf hexadezimale
Darstellung
alte_basis= cout.setf( ios::hex, ios::basefield);
cout << "Der Wert betraegt: " << wert <<
endl; // Ausgabe in hexadezimal
// alte Einstellugen wiederherstellen
cout.setf(alte_basis, ios::basefield);
cout << "Der Wert betraegt: " << wert <<
endl; // Ausgabe in octal
Man könnte sich nun die Frage stellen, wieso wir im obigen Beispiel
für das Umschalten in den Hexadezimal-Modus nicht einfach den Befehl
setf(long)
, also
cout.setf(ios::hex);
verwendet haben. Der Grund hierfür ist der folgende: bei dieser Instanz
der setf()
-Funktion mit nur einem Parameter wird der alte Zustand
nicht aufgehoben!