Formatierte Ein- und Ausgabe
printf, scanf
%d vorzeichenbehaftete Ganzzahlen (dezimal) - signed int
%i vorzeichenbehaftete Ganzzahlen (integer) - signed int
%u vorzeichenlose Ganzzahlen - unsigned int
%o vorzeichenlose Ganzzahlen (oktal) - unsigned int
%x vorzeichenlose Ganzzahlen (hexadezimal) - unsigned int
%hi short int
%li long int
%lu unsigned long
%lf long float - double
%Lf long double
%f Fließkommazahl - float
%e Exponentialdarstellung 2.3e-12
%E Exponentialdarstellung 2.3E-12
%g Exponentialdarstellung 2.3e-12, oder wenn kürzer dann wie %f
%G Exponentialdarstellung 2.3E-12, oder wenn kürzer dann wie %f
%c ein Zeichen (character) - char
%s eine Zeichenkette (string) - char[20] (Feld von 20 Zeichen)
%p Pointer (Zeiger) in hexadezimaler Form
%Np near Pointer als YYYY
%Fp far Pointer als XXXX:YYYY
%i vorzeichenbehaftete Ganzzahlen (integer) - signed int
%u vorzeichenlose Ganzzahlen - unsigned int
%o vorzeichenlose Ganzzahlen (oktal) - unsigned int
%x vorzeichenlose Ganzzahlen (hexadezimal) - unsigned int
%hi short int
%li long int
%lu unsigned long
%lf long float - double
%Lf long double
%f Fließkommazahl - float
%e Exponentialdarstellung 2.3e-12
%E Exponentialdarstellung 2.3E-12
%g Exponentialdarstellung 2.3e-12, oder wenn kürzer dann wie %f
%G Exponentialdarstellung 2.3E-12, oder wenn kürzer dann wie %f
%c ein Zeichen (character) - char
%s eine Zeichenkette (string) - char[20] (Feld von 20 Zeichen)
%p Pointer (Zeiger) in hexadezimaler Form
%Np near Pointer als YYYY
%Fp far Pointer als XXXX:YYYY
Ausgabe von HEX-Zahlen
Ausgabe von zweistelligen HEX-Zahlen mit führenden Nullen (0A E3 42 AD ...)
Ausgabe von HEX-Zahlen mit führenden Nullen mit Typenangabe und 4 Stellen (0x0AE3)
0x000A
Formatierte Ausgabe von Zahlen in Cpp C++
Eignet sich u. a. um in Textdateien geordnete Spaltenstrukturen zu erzeugen.
// Eingebundene Bibliotheken:
// <iostream>
// <iomanip> für setw() und setfill()
using namespace std;
double p = 3.1415;
double n = -4.333;
// auf 10 Stellen füllen
// setw() bezieht sich immer nur auf das nächste Element
cout << "1.\n";
cout << setw(10) << p << "\n" << p << endl;
// Füllzeichen
cout << "2.\n";
cout << setfill('#') << setw(10) << p << endl;
cout << setfill(' '); // default herstellen
// Feld füllen (negatives Vorzeichen)
cout << "3.\n";
cout << internal << setw(10) << n << endl;
// Positives Vorzeichen explizit aufrufen
cout << "4.\n";
cout << internal << showpos << setw(10) << p << endl;
cout << noshowpos; // default herstellen
// links-/rechtsbündig
cout << "5.\n";
cout << left << setw(10) << p << endl;
cout << right; // default herstellen
// wissenschaftliche Schreibweise
cout << "6.\n";
cout << scientific << p << endl;
// Dezimalschreibweise
cout << "7.\n";
cout << fixed << p << endl;
// Die mit fixed oder scientific genänderten Schreibweisen lassen sich nur durch
// die Elementfunktion unsetf() zurücknehmen
cout.unsetf(ostream::floatfield);
// Ausgaben mit Genauigkeit von 2 Stellen
cout << "8.\n";
cout.precision(3);
cout << p << endl;
// <iostream>
// <iomanip> für setw() und setfill()
using namespace std;
double p = 3.1415;
double n = -4.333;
// auf 10 Stellen füllen
// setw() bezieht sich immer nur auf das nächste Element
cout << "1.\n";
cout << setw(10) << p << "\n" << p << endl;
// Füllzeichen
cout << "2.\n";
cout << setfill('#') << setw(10) << p << endl;
cout << setfill(' '); // default herstellen
// Feld füllen (negatives Vorzeichen)
cout << "3.\n";
cout << internal << setw(10) << n << endl;
// Positives Vorzeichen explizit aufrufen
cout << "4.\n";
cout << internal << showpos << setw(10) << p << endl;
cout << noshowpos; // default herstellen
// links-/rechtsbündig
cout << "5.\n";
cout << left << setw(10) << p << endl;
cout << right; // default herstellen
// wissenschaftliche Schreibweise
cout << "6.\n";
cout << scientific << p << endl;
// Dezimalschreibweise
cout << "7.\n";
cout << fixed << p << endl;
// Die mit fixed oder scientific genänderten Schreibweisen lassen sich nur durch
// die Elementfunktion unsetf() zurücknehmen
cout.unsetf(ostream::floatfield);
// Ausgaben mit Genauigkeit von 2 Stellen
cout << "8.\n";
cout.precision(3);
cout << p << endl;
Ausgabe:
1. 3.1415 3.1415 2. ####3.1415 3. - 4.333 4. + 3.1415 5. 3.1415 6. 3.141500e+000 7. 3.141500 8. 3.14
Siehe auch