C ++ vwprintf () - C ++ szabványos könyvtár

A vwprintf () függvény a C ++ nyelven egy formázott széles karakterláncot ír az stdout-ra.

Az vwprintf () függvény a fejlécfájlban van meghatározva.

vwprintf () prototípus

 int vwprintf (const wchar_t * formátum, va_list vlist);

A vwprintf () függvény a formátum által mutatott széles karakterláncot az stdout-ba írja. A széles karaktersorozat formátuma tartalmazhat% -al kezdődő formátummeghatározókat, amelyek helyébe a listavlistaként átadott változók értékei lépnek.

vwprintf () Paraméterek

  • formátum: Mutató egy null végződésű széles karakterláncra, amelyet az stdout-ba írnak. Karakterekből áll, és opcionális formátum-specifikátorokkal kezdődik, amelyek% -kal kezdődnek. A formátum-specifikátorokat a megfelelő változók formátumot követő értéke váltja fel.
    A formátummeghatározó a következő részekkel rendelkezik:
    • Vezető% jel
    • Jelölések: Opcionálisan egy vagy több jelölés, amely módosítja a konverzió viselkedését.
      • -: Bal igazolja az eredményt a mezőn belül. Alapértelmezés szerint helyesen indokolt.
      • +: Az eredmény jele az érték elejéhez van kötve, még pozitív eredmények esetén is.
      • Szóköz: Ha nincs előjel, akkor az eredmény elejéhez szóköz tartozik.
      • #: A konverzió alternatív formáját hajtják végre.
      • 0: Egész számra és lebegőpontos számra használják. A nullák a szóköz helyett a számok kitöltésére szolgálnak.
    • Szélesség: Opcionális * vagy egész érték, amelyet a minimális szélesség mező megadásához használnak.
    • Pontosság: Választható mező, amely a. * vagy egész szám, vagy semmi a pontosság megadásához.
    • Hossz: Opcionális hosszmódosító, amely megadja az argumentum méretét.
    • Specifier: Konverziós formátum-specifikáló. A rendelkezésre álló formátum-meghatározók a következők:
    Formátum specifikátorok
    Formátummeghatározó Leírás
    % Nyomat%
    c Egyetlen karaktert ír
    s Karakterláncot ír
    d vagy i Az aláírt egész számot decimális ábrázolássá alakítja
    o Az előjel nélküli egész számot oktális ábrázolássá alakítja
    X vagy x Aláíratlan egész számot hexadecimális ábrázolássá alakítja
    u Az aláíratlan egész számot decimális ábrázolássá alakítja
    F vagy f A lebegőpontos számot tizedesre konvertálja
    E vagy e A lebegőpontos számot decimális exponens jelöléssé alakítja
    A vagy a A lebegőpontos számot hexadecimális kitevővé konvertálja
    G vagy g A lebegőpontos számot decimális vagy decimális exponens jelöléssé alakítja
    n Visszaadja a függvénynek a hívás által eddig írt karakterek számát. Az eredményt arra az értékre írják, amelyre az argumentum rámutat
    o Ír egy megvalósítás által definiált karaktersorozatot, amely meghatároz egy mutatót.

    Tehát a formátummeghatározó általános formátuma:
     % (zászlók) (szélesség) (. pontosság) (hossz) specifikátor
  • vlist: A kinyomtatandó adatokat tartalmazó argumentumok listája.

vwprintf () Visszatérési érték

  • Sikeres esetben az vwprintf () függvény visszaadja az írt széles karakterek számát.
  • Meghibásodás esetén negatív értéket ad vissza.

Példa: Hogyan működik az vwprintf () függvény?

 #include #include #include void write(const wchar_t *fmt,… ) ( va_list args; va_start(args, fmt); vwprintf(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; )

A program futtatásakor a kimenet a következő lesz:

 Néhány görög levél Eta: η Theta: θ Iota: ι Kappa: κ Lamda: λ

érdekes cikkek...