printf
printf (englisch print formatted) ist eine in vielen Programmiersprachen vorhandene Ausgabefunktion, die ursprünglich aus der Programmiersprache C stammt.
Die printf-Funktion nimmt eine Zeichenkette mit Text und Formatierungshinweisen sowie entweder keinen, einen oder mehrere Werte entgegen. Die Zeichenkette wird ausgegeben und dabei werden die Werte in der entsprechenden Formatierung (Schreibweise) eingefügt.
In der Regel erfolgt die Ausgabe auf der Standardausgabe. Es existiert darüber hinaus die Variante fprintf
für die Ausgabe auf einem beliebigen Ausgabedatenstrom (z. B. Standardfehlerausgabe oder eine Datei). Weil die printf-Funktion häufig verwendet wird und bei einfachen Programmen oder ersten Programmierversuchen auch oft zur Fehlersuche – durch die Ausgabe von Zwischenergebnissen – eingesetzt wird, hat sich der Begriff printf-Debugging für diese primitive Methode etabliert.
Verwendung in der Programmiersprache C
Hallo-Welt-Programm in C, Verwendung von printf.
#include <stdio.h>
int main(void)
{
printf("Hallo Welt!\n");
return 0;
}
Die Funktion besteht aus einem Formatierungsteil und den konkret auszugebenden Argumenten.
Daten verschiedenen Datentypen werden in Strings mit folgenden Umsetzungs- / Zeichensequenzen angegeben:
Umsetzungssequenz | Ausgabe |
---|---|
%i oder %d | int bzw. Dezimalzahl |
%x oder %X | Hexadezimalschreibweise in Groß- oder Kleinschreibung |
%o | Oktalschreibweise |
%ld / %li / %lo / ... | long double / int / int Oktal / ... |
%lld / %lli / %llo / ... | long long double / int / int Oktal / ... |
%f | float oder double |
%c | char |
%s | char* (String) |
%p | Adresse (void *) |
Besondere Zeichen werden wie folgt umgesetzt:
Angabe | Bedeutung / Zeichen |
---|---|
%% | Ausgabe des Prozent-Zeichens |
\n | Zeilenumbruch – Sprung an den Anfang der folgenden Bildschirmzeile (LF) |
\t | Sprung zur nächsten Tabulatorposition (TAB) |
\b | Gehe ein Zeichen zurück |
\a | Alarm / Akustisches Signal |
\r | Sprung an den Anfang der aktuellen Bildschirmzeile (CR) |
\\ | Ausgabe des Gegenschrägstrichs "\" (Backslash) |
\" | Ausgabe eines doppelten Anführungszeichens |
\' | Ausgabe eines einfachen Anführungszeichens |
\ooo | "ooo" als Wert in Oktalschreibweise, stellt den Char mit entsprechender ID dar. |
\xhh | "hh" als Wert in Hexschreibweise, stellt den Char mit entsprechender ID dar. |
Java
In der Programmiersprache Java wurde 2004 mit Version 5 eine ähnliche Funktionalität eingeführt. Dort haben die beiden Klassen java.io.PrintStream und java.io.PrintWriter seitdem entsprechende Methoden namens format. Außerdem gibt es eine eigene Klasse java.util.Formatter sowie eine statische Methode format der Standardklasse String, die entsprechende Formatierungsmuster verarbeiten und formatierte Strings erzeugen.[1]
Einzelnachweise
- New Features and Enhancements: J2SE 5.0. In: JDK 5.0 Documentation. Abgerufen am 20. Januar 2014 (englisch).
Literatur
- Brian W. Kernighan, Dennis M. Ritchie: Programmieren in C. 1. Auflage. Hanser, München 1983, ISBN 3-446-13878-1, S. 157–159.
Weblinks
- https://www.man7.org/linux/man-pages/man3/printf.3.html Online Manual für die Funktionen der C-Standard Bibliothek
- https://www.man7.org/linux/man-pages/man1/printf.1.html Online Manual des Programms, das die Funktion für Shellskripte bereitstellt