C ++ vwprintf () - C ++ standardraamatukogu

Funktsiooni vwprintf () kaustas C ++ kasutatakse vormindatud laia stringi kirjutamiseks stdouti.

Funktsioon vwprintf () on määratletud päisefailis.

vwprintf () prototüüp

 int vwprintf (const wchar_t * formaat, va_list vlist);

Funktsioon vwprintf () kirjutab laia stringi, millele vorming osutab, stdout. Lai stringivorming võib sisaldada vorminguspetsifikaate, mis algavad% -st, mis asendatakse loendiloendina edastatud muutujate väärtustega.

vwprintf () parameetrid

  • formaat: osutaja nulliga lõppenud laiale stringile, mis on kirjutatud stdouti. See koosneb märkidest koos valikuliste vorminguspetsifikaatoritega, mis algavad% -ga. Vorminguspetsifikaatorid asendatakse vastavate muutujate väärtustega, mis järgivad vormingut.
    Vorminguspetsiifil on järgmised osad:
    • Juhtiv% märk
    • Lipud: valikuliselt üks või mitu lippu, mis muudab konversioonikäitumist.
      • -: vasakpoolne põhjendab tulemust väljal. Vaikimisi on see õigustatud.
      • +: Tulemuse märk kinnitatakse väärtuse algusesse ka positiivsete tulemuste korral.
      • Tühik: kui märki pole, lisatakse tulemuse algusesse tühik.
      • #: Teostatakse teisenduse alternatiivne vorm.
      • 0: Seda kasutatakse täis- ja ujukomaarvuks. Numbrite sisestamiseks tühiku asemel kasutatakse juhtnulle.
    • Laius: valikuline * või täisarv, mida kasutatakse minimaalse laiuse välja määramiseks.
    • Täpsus: valikuline väli, mis koosneb a. millele järgneb * või täisarv või mitte midagi täpsuse täpsustamiseks.
    • Pikkus: valikuline pikkuse muutja, mis määrab argumendi suuruse.
    • Täpsustaja: teisendusvormingu täpsustaja. Saadaval olevad vorminguspetsifikaatorid on järgmised:
    Vorminguspetsifikaatorid
    Vorminguspetsifikaator Kirjeldus
    % Prindib%
    c Kirjutab ühe tähemärgi
    s Kirjutab märgistringi
    d või i Teisendab allkirjastatud täisarv kümnendarvudeks
    o Teisendab allkirjata täisarv kaheksakujuliseks
    X või x Teisendab allkirjastamata täisarv kuueteistkümnendsüsteemis
    u Teisendab allkirjata täisarv kümnendarvudeks
    F või f Teisendab ujukoma numbri kümnendarvuks
    E või e Teisendab ujukomaarv kümnendkoha astendikuks
    A või a Teisendab ujukomaarv kuueteistkümnendsüsteemi eksponendiks
    G või g Teisendab ujukomaarvu kümnend- või kümnendarvulise astendina
    n Tagastab selle kutsega seni kirjutatud märkide arvu funktsioonile. Tulemus kirjutatakse väärtusele, millele argument osutab
    lk Kirjutab kursori määratleva rakenduse määratletud märgijada.

    Seega on vorminguspetsifikaatori üldine vorming:
     % (lipud) (laius) (. täpsus) (pikkus) täpsustaja
  • vlist: printimiseks vajalikke andmeid sisaldavate argumentide loend.

vwprintf () Tagastusväärtus

  • Edu korral tagastab funktsioon vwprintf () arv kirjutatud laiade märkide arvu.
  • Rikke korral tagastab negatiivse väärtuse.

Näide: Kuidas funktsioon vwprintf () töötab?

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

Programmi käivitamisel on väljund järgmine:

 Mõned kreeka tähed Eta: η Theta: θ Iota: ι Kappa: κ Lamda: λ

Huvitavad Artiklid...