C ++ printf () - C ++ Standardbibliothek

Die Funktion printf () in C ++ wird verwendet, um eine formatierte Zeichenfolge in stdout zu schreiben.

printf () Prototyp

 int printf (const char * Format,…);

Die printf()Funktion schreibt die Zeichenfolge, auf die das Format zeigt, in stdout. Das Zeichenfolgenformat kann Formatspezifizierer enthalten, die mit% beginnen und durch die Werte von Variablen ersetzt werden, die printf()als zusätzliche Argumente an die Funktion übergeben werden.

Es ist in der Header-Datei definiert.

printf () Parameter

  • Format: Zeiger auf eine nullterminierte Zeichenfolge, die in den Dateistream geschrieben wird. Es besteht aus Zeichen und optionalen Formatangaben, die mit% beginnen.

    Die Formatbezeichner werden durch die Werte der jeweiligen Variablen ersetzt, die auf die Formatzeichenfolge folgen.

    Der Formatbezeichner besteht aus folgenden Teilen:

    • Ein führendes% -Zeichen
    • Flags: Optional ein oder mehrere Flags, die das Konvertierungsverhalten ändern.
      • -: Links begründen Sie das Ergebnis innerhalb des Feldes. Standardmäßig ist es richtig gerechtfertigt.
      • +: Das Vorzeichen des Ergebnisses wird auch bei positiven Ergebnissen an den Anfang des Wertes angehängt.
      • Leerzeichen: Wenn kein Zeichen vorhanden ist, wird am Anfang des Ergebnisses ein Leerzeichen eingefügt.
      • #: Eine alternative Form der Konvertierung wird durchgeführt.
      • 0: Wird für Ganzzahl und Gleitkommazahl verwendet. Führende Nullen werden verwendet, um die Zahlen anstelle von Leerzeichen aufzufüllen.
    • Breite: Ein optionaler * oder ganzzahliger Wert, mit dem das Feld für die Mindestbreite angegeben wird.
    • Präzision: Ein optionales Feld bestehend aus a. gefolgt von * oder Ganzzahl oder nichts, um die Genauigkeit anzugeben.
    • Länge: Ein optionaler Längenmodifikator, der die Größe des Arguments angibt.
    • Bezeichner: Ein Bezeichner für das Konvertierungsformat. Die verfügbaren Formatspezifizierer sind wie folgt:
      Formatbezeichner Beschreibung
      %. Druckt%
      c Schreibt ein einzelnes Zeichen
      s Schreibt eine Zeichenkette
      d oder i Konvertiert eine vorzeichenbehaftete Ganzzahl in eine Dezimaldarstellung
      Ö Konvertiert eine vorzeichenlose Ganzzahl in eine oktale Darstellung
      X oder x Konvertiert eine vorzeichenlose Ganzzahl in eine hexadezimale Darstellung
      u Konvertiert eine vorzeichenlose Ganzzahl in eine Dezimaldarstellung
      F oder f Konvertiert die Gleitkommazahl in die Dezimaldarstellung
      E oder e Konvertiert die Gleitkommazahl in die Dezimal-Exponenten-Notation
      A oder a Konvertiert die Gleitkommazahl in den hexadezimalen Exponenten
      G oder g Konvertiert die Gleitkommazahl entweder in eine dezimale oder eine dezimale Exponentennotation
      n Gibt die Anzahl der Zeichen zurück, die bisher von diesem Aufruf an die Funktion geschrieben wurden. Das Ergebnis wird auf den Wert geschrieben, auf den das Argument zeigt
      p Schreibt eine implementierungsdefinierte Zeichenfolge, die einen Zeiger definiert.

      Das allgemeine Format des Formatbezeichners lautet also: %(flags)(width)(.precision)(length)specifier

  • …: Andere zusätzliche Argumente, die die zu druckenden Daten angeben. Sie treten in einer Reihenfolge gemäß dem Formatbezeichner auf.

printf () Rückgabewert

Bei Erfolg gibt die printf()Funktion die Anzahl der geschriebenen Zeichen zurück. Bei einem Fehler wird ein negativer Wert zurückgegeben.

Beispiel 1: Funktionsweise der Funktion printf ()

 #include int main() ( int x = 5; char my_name() = "Lincoln"; printf("x = %d ", x); printf("My name is %s ", my_name); return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 x = 5 Ich heiße Lincoln

Beispiel 2: Weitere Beispiele zu printf ()

 #include int main() ( char ch = 'a'; float a = 5.0, b = 3.0; int x = 10; printf("%.3f / %.3f = %.3f ", a,b,a/b); printf("Setting width %*c ",5,ch); printf("Octal equivalent of %d is %o ",x,x); return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 5.000 / 3.000 = 1.667 Einstellbreite ein Oktaläquivalent von 10 ist 12

Interessante Beiträge...