C ++ vprintf () - C ++ Standardbibliothek

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

vprintf () Prototyp

 int vprintf (const char * -Format, va_list vlist);

Die vprintf()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 als Listen-vlist übergeben werden.

Es ist in der Header-Datei definiert.

vprintf () 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

  • vlist: Eine Liste von Argumenten, die die zu druckenden Daten enthalten.

vprintf () Rückgabewert

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

Beispiel: Funktionsweise der Funktion vprintf ()

 #include #include void write(const char *fmt,… ) ( va_list args; va_start(args, fmt); vprintf(fmt, args); va_end(args); ) int main () ( char name(50) = "Jim"; char address(50) = "Cardiff"; int age = 13; write("My name is %s. I am %d years old and I live in %s.", name, age, address); return 0; )

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

Mein Name ist Jim. Ich bin 13 Jahre alt und lebe in Cardiff.

Interessante Beiträge...