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



Ausgabe von HEX-Zahlen


Ausgabe von zweistelligen HEX-Zahlen mit führenden Nullen (0A E3 42 AD ...)
printf("%02x ", val);


Ausgabe von HEX-Zahlen mit führenden Nullen mit Typenangabe und 4 Stellen (0x0AE3)
0x000A
printf("0x%04x ", val);



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;


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
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki