C ++ vwprintf () - C ++ - vakiokirjasto

C ++: n vwprintf () -funktiota käytetään muotoilun leveän merkkijonon kirjoittamiseen vakiotilaan.

Funktio vwprintf () määritetään otsikkotiedostossa.

vwprintf () -prototyyppi

 int vwprintf (const wchar_t * -muoto, va_list vlist);

Funktio vwprintf () kirjoittaa muodon osoittaman leveän merkkijonon stdout-muotoon. Laaja merkkijono -muoto voi sisältää% -alkuisia muotoilutunnisteita, jotka korvataan luetteloluettelona välitettävien muuttujien arvoilla.

vwprintf () -parametrit

  • muoto: Osoitin nollan päättyneelle leveälle merkkijonolle, joka kirjoitetaan stdout-tiedostoon. Se koostuu merkeistä ja valinnaisista muotomäärittimistä, jotka alkavat%: lla. Formaatin määrittelijät korvataan vastaavien muuttujien arvoilla, jotka seuraavat muotoa.
    Formaatin määrittelijässä on seuraavat osat:
    • Johtava% -merkki
    • Liput: Valinnainen yksi tai useampi lippu, joka muuttaa konversiokäyttäytymistä.
      • -: Vasen tasaa tuloksen kentässä. Oletuksena se on oikein perusteltu.
      • +: Tuloksen merkki liitetään arvon alkuun, myös positiivisten tulosten saamiseksi.
      • Välilyönti: Jos merkkiä ei ole, tuloksen alkuun kiinnitetään välilyönti.
      • #: Vaihtoehtoinen muunnos suoritetaan.
      • 0: Sitä käytetään kokonaislukuun ja liukulukuihin. Numeroita käytetään välilyöntien sijasta etunollia.
    • Leveys: Valinnainen * tai kokonaislukuarvo, jota käytetään minimileveyskentän määrittämiseen.
    • Tarkkuus: Valinnainen kenttä, joka koostuu a. jota seuraa * tai kokonaisluku tai ei mitään tarkkuuden määrittämiseksi.
    • Pituus: Valinnainen pituuden muuttaja, joka määrittää argumentin koon.
    • Määritin: Muunnosmuodon määrittelijä. Saatavilla olevat muotomäärittimet ovat seuraavat:
    Muotomäärittimet
    Formaatin määrittelijä Kuvaus
    % Tulosteet%
    c Kirjoittaa yhden merkin
    s Kirjoittaa merkkijonon
    d tai i Muuntaa allekirjoitetun kokonaisluvun desimaaliedustukseksi
    o Muuntaa allekirjoittamattoman kokonaisluvun oktaaliedustukseksi
    X tai x Muuntaa allekirjoittamattoman kokonaisluvun heksadesimaaliluvuksi
    u Muuntaa allekirjoittamattoman kokonaisluvun desimaaliedustukseksi
    F tai f Muuntaa liukuluvun desimaaliluvuksi
    E tai e Muuntaa liukuluvun desimaalilausekkeeksi
    A tai a Muuntaa liukuluvun luvun heksadesimaalilausekkeeksi
    G tai g Muuntaa liukuluvun desimaalin tai desimaalin eksponenttimerkinnäksi
    n Palauttaa tämän kutsun tähän mennessä kirjoittamien merkkien määrän funktioon. Tulos kirjoitetaan argumentin osoittamaan arvoon
    s Kirjoittaa toteutuksessa määritetyn merkkijonon, joka määrittelee osoittimen.

    Joten muodon määrittelijän yleinen muoto on:
     % (liput) (leveys) (. tarkkuus) (pituus) määrittelijä
  • vlist: Luettelo argumenteista, jotka sisältävät tulostettavat tiedot.

vwprintf () Palautusarvo

  • Jos se onnistuu, vwprintf () -funktio palauttaa kirjoitettujen leveiden merkkien määrän.
  • Epäonnistumisen yhteydessä se palauttaa negatiivisen arvon.

Esimerkki: Kuinka vwprintf () -toiminto toimii?

 #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; )

Kun suoritat ohjelmaa, tulos on:

 Jotkut kreikkalaiset kirjeet Eta: η Theta: θ Iota: ι Kappa: κ Lamda: λ

Mielenkiintoisia artikkeleita...