C ++ vprintf () - Standardna knjižnica C ++

Funkcija vprintf () v jeziku C ++ se uporablja za zapis formatiranega niza v stdout.

prototip vprintf ()

 int vprintf (format const char *, va_list vlist);

vprintf()Funkcija piše niz opozoril, da glede na obliko na standardni izhod. Format niza lahko vsebuje specifikatorje formatov, ki se začnejo z% in jih nadomestijo vrednosti spremenljivk, ki se posredujejo kot seznam vlist.

Določen je v datoteki glave.

vprintf () Parametri

  • format: Kazalec na ničelno zaključen niz, ki je zapisan v tok datotek. Sestavljen je iz znakov in izbirnih specifikatorjev formata, ki se začnejo z%.

    Specifikatorji oblike se nadomestijo z vrednostmi ustreznih spremenljivk, ki sledijo nizu oblike.

    Specifikator oblike ima naslednje dele:

    • Vodilni znak%
    • Zastave: neobvezna ena ali več zastavic, ki spreminjajo vedenje pretvorbe.
      • -: Levo utemeljite rezultat znotraj polja. Privzeto je upravičeno.
      • +: Znak rezultata je pritrjen na začetek vrednosti, tudi za pozitivne rezultate.
      • Presledek: Če ni nobenega znaka, je presledek pritrjen na začetek rezultata.
      • #: Izvede se druga oblika pretvorbe.
      • 0: Uporablja se za celo število in število s plavajočo vejico. Za zapolnitev številk namesto presledka se uporabljajo vodilne ničle.
    • Širina: neobvezna vrednost * ali celo število, ki se uporablja za določanje polja najmanjše širine.
    • Natančnost: neobvezno polje, sestavljeno iz a. čemur sledi * ali celo število ali nič, kar določa natančnost.
    • Dolžina: neobvezni modifikator dolžine, ki določa velikost argumenta.
    • Specifikator: Specifikator pretvorbenega formata. Razpoložljivi opisniki oblike so naslednji:
      Format Specifier Opis
      % Odtisov%
      c Napiše en sam znak
      s Zapiše niz znakov
      d ali i Pretvori podpisano celo število v decimalno predstavitev
      o Pretvori nepodpisano celo število v osmiško predstavitev
      X ali x Pretvori nešteto celo število v šestnajstiško predstavitev
      u Pretvori nešteto celo število v decimalno predstavitev
      F ali f Pretvori število s plavajočo vejico v decimalno predstavitev
      E ali e Pretvori število s plavajočo vejico v zapis decimalnega eksponenta
      A ali a Pretvori število s plavajočo vejico v šestnajstiški eksponent
      G ali g Pretvori število s plavajočo vejico v decimalni ali decimalni eksponentni zapis
      n Vrne število doslej napisanih znakov s tem klicem funkcije. Rezultat se zapiše v vrednost, na katero opozarja argument
      str Zapiše zaporedje znakov, opredeljeno z izvedbo, ki definira kazalec.

      Tako je splošna oblika specifikatorja oblike: %(flags)(width)(.precision)(length)specifier

  • vlist: seznam argumentov, ki vsebujejo podatke za tiskanje.

vprintf () Vrnjena vrednost

Če je vprintf()funkcija uspešna, vrne število zapisanih znakov. Ob okvari vrne negativno vrednost.

Primer: Kako deluje funkcija 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; )

Ko zaženete program, bo rezultat:

Moje ime je Jim. Star sem 13 let in živim v Cardiffu.

Zanimive Članki...