printf gibt Daten in formatierter Form im Kommandofenster aus.
Returnwert
rsNChars ist die Anzahl der ausgegebenen Zeichen oder -1 wenn ein Fehler aufgetreten ist.
Parameter
ssFormat ist ein skalarer String mit eingebetteten Formatierungzeichen, der bestimmt, wie die folgenden Argumente arg1 bis argn ausgegeben werden. Ein Formatierungfeld hat folgenden Aufbau:
%{flags}[width][.precision][m|l|L]type
Ein flag ist eins der folgenden Zeichen:
| Wert | Bedeutung |
|---|---|
| - | bewirkt, daß die Ausgabe linksbündig erfolgt. |
| + | es wird ein “+” oder “-” - Zeichen vor die Ausgabe gesetzt. |
| # | bewirkt, daß bei den Formatierungen “e”, “E”, “f”, “g”, “G” immer auch der Dezimalpunkt ausgegeben wird. Bei der “g” oder “G”-Formatierung werden abschliesende Nullen ausgegeben. Bei der “x” oder “X”-Formatierung wird der Ausgabe ein “0x” oder “0X” vorangestellt wird, falls der Wert ungleich 0 ist. Bei der “o”-Formatierung werden führende Nullen ausgegeben. |
| (blank) ” “ | bewirkt, daß eine positive numerische Ausgabe mit einem Leerzeichen eingeleitet wird. |
| 0 | bewirkt, dass links mit Nullen aufgefüllt wird. |
type kann folgende Werte annehmen:
| Wert | Bedeutung |
|---|---|
| f | Das Argument ist reell. Es wird in der Form [-]dddd.dddddd ausgegeben. |
| e, E | Das Argument ist reell. Es wird in der Form [-]dddd.dddddd”e”ddd ausgegeben. Bei einem großen “E” wird ein großes “E” als Exponentialzeichen ausgegeben. |
| g, G | Das Argument ist reell. Die Ausgabe erfolgt im “e” oder “E”-Format wenn der Exponent des Arguments kleiner als 3 oder größer als die Genauigkeit ist. Ansonsten erfolgt die Ausgabe im “f”-Format. |
| i, d, u | Das Argument ist reell. Es wird vor der Ausgabe in eine ganze Zahl umgewandelt. |
| x, X, p | Das Argument ist reell. Es wird vor der Ausgabe in eine ganze Zahl umgewandelt und als Hexadezimalzahl ausgegeben. |
| o | Das Argument ist reell. Es wird vor der Ausgabe in eine ganze Zahl umgewandelt und als Oktalzahl ausgegeben. |
| c | Das Argument ist reell. Es wird vor der Ausgabe in ein ASCII-Zeichen umgewandelt. |
| s | Das Argument ist ein String. |
Kommentar
Alle Typen bis auf den ("s"-Typ) verlangen reelle Argumente.
Beispiel
* a = rand(1,5) * 100
* printf("%10d\n%10.2f\n%10.2e\n%10.2g\n", a, a, a, a)
86 8 43 84 98
86.18 8.30 43.97 84.32 98.93
8.62e+01 8.30e+00 4.40e+01 8.43e+01 9.89e+01
86 8.3 44 84 99
204.0000
// 204 ist die Anzahl der ausgegebenen Zeichen.
id-1871575