Inhaltsverzeichnis

printf()

#include <cstdio>

int printf (const char *format, ...) 

Formatierte Ausgabe nach stdout.

Parameter

format Formatzeichenkette
weitere Argumente je nach Platzhalter

Die Formatzeichenkette der printf()-Familie kann neben gewöhnlichen Zeichen Platzhalter für andere Werte besitzen. Nach einem %-Zeichen folgen optional

Der Platzhalter wird zwingend abgeschlossen durch einen Konversionsbuchstaben:

d oder i dezimal integer
o, u, x, X oktal, vorzeichenlos dezimal, hexadezimal mit Klein-/Großbuchstaben
f, F double in der Form ddd.ddd
e, E double in Zehnerpotenz-Schreibweise
g, G double in einer kürzeren der beiden oberen Formen
c ein Zeichen
s C-Zeichenkette
p Zeiger als Hexadezimalzahl
n Anzahl bisher geschriebener Zeichen (in int*-Argument abzulegen)
% Prozentzeichen wird geschrieben (weiteres kein Argument erforderlich)

Den Platzhaltern wird ein folgendes Argument mit dem passenden Typ zugeordnet.

Ergebnis

Rückgabewert: Anzahl der ausgegebenen Zeichen, bei Ausgabefehler einen negativen Wert.

Passen irgendein Platzhalter und der Argumenttyp nicht, ist das Verhalten undefiniert.

Siehe auch

<iostream>, scanf(), fprintf(), sprintf(), vprintf(), vfprintf(), vsprintf().

Beispiel

printf.cpp
#include <cstdio>
using namespace std;
 
int main()
{
  char *str = "Hallo";
 
  printf("%s%c %s Nr. %d\n",   // Platzhalter
     //   /  |  \      |
        str,',',"Welt",1);     // einzusetzende Werte
 
  printf("Gebrochene Zahl im \"Waehrungsformat\" : %+10.2f\n", 
                                                  123.4567);
 
  printf("Amerika ist %s,\nDeutschland ist %s.\n\t---[%s]\n",
             "ein gefaehrliches Land", "AOK", "Martin Walser");
}