Next: Dateien (Files)
Up: Ein- und Ausgabe
Previous: Elementfunktionen der iostreams
Oft ist es nötig das Format der Ausgabe zu ändern, um z.B. eine
schönere, besser lesbare Tabelle zu erhalten, oder um die volle
Genauigkeit einer Variablen auf dem Bildschirm auszugeben.
Solche Operationen geschehen
mit Hilfe der in Tabelle
zusammengefaßten Funktionen.
Tabelle:
Beispiele von Formatierungsfunktionen für die Ausgabe.
Manipulator |
Beschreibung |
int width=12; |
|
cout << setw(width); |
setzt die minimale Größe der direkt
folgenden Ausgabe. |
int prec=5; |
|
cout << setprecision(prec); |
Gibt die Zahl der Stellen für Festkomma-,
oder die Zahl der Stellen hinter dem Komma
für Gleitkommadarstellung an; sonst die
Maximalzahl der Stellen. |
char c='*'; |
|
cout << setfill(c); |
Definiert ein Füllzeichen wie z.B.
* . |
|
Dabei ist zu beachten, daß die Änderung, die durch solche Funktionen
herbeigeführt wird, evtl. nur für die nächste Ausgabe gültig ist.
Um diese Funktionen verwenden zu können, muß man zuerst
#include<iomanip>
aufrufen.
#include<iomanip>
double x=1234.5;
cout << x << '\n'; // Ergibt: 1234.5
cout << setfill ('*') << setw (10) << setprecision (5);
cout << x << '\n'; // Ergibt: ****1234.5
cout << x << '\n'; // Ergibt wieder: 1234.5
Weiterhin gibt es sog. Flags zum Schalten von Formatfunktionen.
Dies sind Operationen, die keinen Parameter brauchen. Beispiele
sind in Tabelle
gezeigt.
Tabelle:
Schalter für formatierte Ausgabe.
Flag |
Gruppe |
Funktion |
left |
adjustfield |
links ausrichten |
right |
adjustfield |
rechts ausrichten |
internal |
adjustfield |
+/- links, Zahl rechts |
dec |
basefield |
Dezimalzahlen |
hex |
basefield |
Hexadezimalzahlen |
oct |
basefield |
Oktalzahlen |
showbase |
|
zeigt Dezimalbasis von hex- und oct-Zahlen |
showpos |
|
'+' vor Zahl, wenn positiv |
uppercase |
|
E, X, A-F statt e, x, a-f |
fixed |
floatfield |
Festkommazahl |
scientific |
floatfield |
wissenschaftliche Darstellung |
|
Will man ein Flag setzen, d.h. einen Ausgabemodus aktivieren,
so verwendet man alternativ:
cout.setf (ios:: 'flag', ios:: 'group')
cout << setiosflags (ios:: 'flag', ios:: 'group')
wobei die Möglichkeiten für 'flag'
und 'group'
Tabelle
zu entnehmen sind. Der zweite Übergabeparameter
ist nicht unbedingt notwendig. Will man die
Funktionalität rückgängig machen, bzw. die Voreinstellung
wiederherstellen, so kann man dies (wieder alternativ) für
jedes einzelne Flag, oder auch für eine ganze Gruppe tun.
cout.unsetf (ios:: 'flag')
cout << resetiosflags (ios:: 'flag')
cout.unsetf (ios:: 'group')
cout << resetiosflags (ios:: 'group')
Next: Dateien (Files)
Up: Ein- und Ausgabe
Previous: Elementfunktionen der iostreams
© R.Hilfer et al., ICA-1, Univ. Stuttgart
28.6.2002