Mit cout werden Ausgaben erstellt. Die Ausgabe erfolgt standardmäßig auf dem Bildschirm. Dabei können die grundlegnden Basisdatentypen ohne besondere Vorkehrungen ausgegeben werden.
#include < iostream >
using namespace std;
oder besser:
using std::cout
cout << "Text\n"
Dabei dient '<<' als Ausgabeoperator.
Der auszugebende Text kann durch den Ausgabeoperator auch
mit mehreren Texten und Variablen verknüpft werden:
Bsp.: cout << Text1 << Variable << endl;
Durch endl im obigen Beispiel werden alle im Puffer befindlichen Daten sofort
an die Ausgabe geschickt und die Zeile beendet, dass heißt die nächste
Ausgabe würde automatisch in der nächsten Zeile erfolgen.
Aufgrund des Aufwendigeren Prozesses ist dies langsamer.
Alternativ kann mann:
Manipulator | Header | Ausgabe |
---|---|---|
std::dec | iostream | dezimal (Basis 10) bis was anderes bestimmt wird |
std::hex | iostream | hexadezimal (Basis 16) bis was anderes bestimmt wird |
std::oct | iostream | oktal (Basis 8) bis was anderes bestimmt wird |
setbase(base) | iomanip | Basis base=8;10 od.16 bis was anderes bestimmt wird |
setw(minBreite) | iomanip | minimale Ausgabebreite minBreite der nächsten Ausgabe |
setfill(char) | iomanip | Füllzeichen char, wenn breiter als benötigt bis was anderes bestimmt wird |
Beipiel:
#include <iostream> #include <iomanip> using std::cout; using std::endl; using std::hex; using std::setw; using std::setfill; int main() { int i=15; cout << setfill('_')<< setw(4) << hex << i <<endl; cout << setw(4) << hex << i+i*16 <<endl; return 0; }
ergibt:
___f __ff
Die Steuerung der Ausgabeinformation kann mit Hilfe der Memberfunktionen setf und unsetf des cout-Streams eingestellt werden. Die Funktionen liefern die bisherigen Zustände als long-Wert zurück. Die Flags sind im Namensraum std in der Klasse ios und können entsprechend über std::ios::FLAGNAME angesprochen werden
Flag | Formatierung |
---|---|
uppercase | Großbuchstaben für Hexzahlen und Exponenten |
showbase | Präfix für aktuelle Zahlenbasis anzeigen (0x für hex; 0 für Oktal) |
showpoint | Erzwingt die Ausgabe des Dezimalpunktes und eventuell 0 bei Gleitkommazahlen |
showpos | Ausgabe des Vorzeichens auch bei positiven Zahlen |
skipws | Überliest bei Eingabe white-spaceses |
boolalpha | Gibt bei bool-Variablen true/false statt 1/0 aus |
unitbuf | Leert den Ausgabepuffer nach jeder Ausgabe |
left, adjustfield | Ausgabe linksbündig |
rigth, adjustfield | Ausgabe rechtsbündig |
scientific, floatfied | Ausgabe mit Exponenten |
fixed, floadfield | Ausgabe ohne Exponenten |
dec, basefield | Ausagabe als Dezimalzahl |
hex, basefield | Ausgabe als Hexadezimalzahl |
oct, basefield | Ausgabe als Oktalzahl |
Beispiel linksbündig:
std::cout.setf(std::ios::left,std::ios::adjustfield);