C ++ vprintf () - C ++ standardbibliotek

Funksjonen vprintf () i C ++ brukes til å skrive en formatert streng til stdout.

vprintf () prototype

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

Den vprintf()funksjonen skriver strengen peker til formatet til stdout. Strengformatet kan inneholde formatspesifikatorer som begynner med% som erstattes av verdiene til variablene som sendes som en liste-liste.

Det er definert i topptekstfilen.

vprintf () Parametere

  • format: peker til en null avsluttet streng som skrives til filstrømmen. Den består av tegn sammen med valgfrie formatspesifikatorer som begynner med%.

    Formatspesifikatorene erstattes av verdiene til respektive variabler som følger formatstrengen.

    Formatspesifikatoren har følgende deler:

    • Et ledende% tegn
    • Flagg: Valgfritt ett eller flere flagg som endrer konverteringsadferden.
      • -: Venstre rettferdiggjør resultatet innenfor feltet. Som standard er det rettferdiggjort.
      • +: Tegn på resultatet er festet til begynnelsen av verdien, selv for positive resultater.
      • Mellomrom: Hvis det ikke er noe tegn, er et mellomrom festet til begynnelsen av resultatet.
      • #: En alternativ form for konvertering utføres.
      • 0: Den brukes til heltall og flytende nummer. Ledende nuller brukes til å putte tallene i stedet for mellomrom.
    • Bredde: En valgfri * eller heltallverdi som brukes til å spesifisere minimumsbreddefelt.
    • Presisjon: Et valgfritt felt som består av en. etterfulgt av * eller heltall eller ingenting for å spesifisere presisjonen.
    • Lengde: En valgfri lengdemodifikator som spesifiserer størrelsen på argumentet.
    • Spesifikator: En konverteringsformatspesifikator. De tilgjengelige formatspesifikasjonene er som følger:
      Format Spesifikator Beskrivelse
      % Skriver ut%
      c Skriver et enkelt tegn
      s Skriver en karakterstreng
      d eller i Konverterer et signert heltall til desimalrepresentasjon
      o Konverterer et usignert heltall til oktal representasjon
      X eller x Konverterer et usignert heltall til heksadesimal representasjon
      u Konverterer et usignert heltall til desimalrepresentasjon
      F eller f Konverterer flytende nummer til desimalrepresentasjonen
      E eller e Konverterer flytende nummer til desimaleksponentnotasjonen
      A eller a Konverterer flytende nummer til den heksadesimale eksponenten
      G eller g Konverterer flytende nummer til enten desimal- eller desimaleksponentnotasjon
      n Returnerer antall tegn som hittil er skrevet av denne samtalen til funksjonen. Resultatet skrives til den verdien argumentet peker på
      s Skriver en implementeringsdefinert tegnsekvens som definerer en peker.

      Så det generelle formatet til formatspesifikatoren er: %(flags)(width)(.precision)(length)specifier

  • vlist: En liste over argumenter som inneholder dataene som skal skrives ut.

vprintf () Returverdi

Hvis det lykkes, vprintf()returnerer funksjonen antall tegn som er skrevet. Ved feil returnerer den en negativ verdi.

Eksempel: Hvordan funksjonen vprintf () fungerer

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

Når du kjører programmet, vil utdataene være:

Jeg heter Jim. Jeg er 13 år og bor i Cardiff.

Interessante artikler...