Wiki source for CFormatierung
====Formatierte Ein- und Ausgabe====
printf, scanf
%%(c)
%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 ...)
%%(c)
printf("%02x ", val);
%%
Ausgabe von HEX-Zahlen mit führenden Nullen mit Typenangabe und 4 Stellen (0x0AE3)
0x000A
%%(c)
printf("0x%04x ", val);
%%
====Formatierte Ausgabe von Zahlen in [[Cpp C++]]====
Eignet sich u. a. um in Textdateien geordnete Spaltenstrukturen zu erzeugen.
%%(cpp)
// 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 {{backlinks}}
printf, scanf
%%(c)
%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 ...)
%%(c)
printf("%02x ", val);
%%
Ausgabe von HEX-Zahlen mit führenden Nullen mit Typenangabe und 4 Stellen (0x0AE3)
0x000A
%%(c)
printf("0x%04x ", val);
%%
====Formatierte Ausgabe von Zahlen in [[Cpp C++]]====
Eignet sich u. a. um in Textdateien geordnete Spaltenstrukturen zu erzeugen.
%%(cpp)
// 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 {{backlinks}}