Die Funktion vfwprintf () in C ++ wird verwendet, um eine formatierte breite Zeichenfolge in einen Dateistream zu schreiben.
Die Funktion vfwprintf () ist in der Header-Datei definiert.
vfwprintf () Prototyp
int vfwprintf (FILE * -Stream, const wchar_t * -Format, va_list vlist);
Die Funktion vfwprintf () schreibt die breite Zeichenfolge, auf die das Format zeigt, in den Dateistream-Stream. Das breite Zeichenfolgenformat kann Formatspezifizierer enthalten, die mit% beginnen und durch die Werte von Variablen ersetzt werden, die als Listen-vlist übergeben werden.
vfwprintf () Parameter
- stream: Ausgabedateistream zum Schreiben des Ergebnisses.
- Format: Ein Zeiger auf eine nullterminierte breite Zeichenfolge, die in den Stream geschrieben wird. Es besteht aus Zeichen und optionalen Formatangaben, die mit% beginnen. Die Formatbezeichner werden durch die Werte der jeweiligen Variablen ersetzt, die dem Format 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:Bezeichner% (Flags) (Breite) (. Genauigkeit) (Länge)
- vlist: Eine Liste von Argumenten, die die zu schreibenden Daten enthalten.
vfwprintf () Rückgabewert
- Bei Erfolg gibt die Funktion vfwprintf () die Anzahl der geschriebenen breiten Zeichen zurück.
- Bei einem Fehler wird ein negativer Wert zurückgegeben.
Beispiel: Wie funktioniert die Funktion vfwprintf ()?
#include #include #include void write(const wchar_t *fmt,… ) ( va_list args; va_start(args, fmt); vfwprintf(fmt, args); va_end(args); ) int main () ( wchar_t desc(5)(10) = (L"Eta",L"Theta",L"Iota",L"Kappa",L"Lamda"); int x = 0; setlocale(LC_ALL, "en_US.UTF-8"); wprintf(L"Some Greek Letters"); for (wchar_t i=L'u03b7'; i<=L'u03bb'; i++) ( write(L"%ls : %lc", desc(x), i); x++; ) return 0; )
Wenn Sie das Programm ausführen, wird Folgendes in example.txt geschrieben:
Einige griechische Buchstaben Eta: η Theta: θ Iota: ι Kappa: κ Lamda: λ