C ++ printf () - C ++ standaardbibliotheek

De functie printf () in C ++ wordt gebruikt om een ​​opgemaakte string naar stdout te schrijven.

printf () prototype

 int printf (const char * formaat, …);

De printf()functie schrijft de string waarnaar het formaat verwijst naar stdout. Het tekenreeksformaat kan opmaakspecificaties bevatten die beginnen met%, die worden vervangen door de waarden van variabelen die printf()als aanvullende argumenten aan de functie worden doorgegeven .

Het wordt gedefinieerd in het header-bestand.

printf () Parameters

  • format: Pointer naar een met null beëindigde string die naar de bestandsstroom wordt geschreven. Het bestaat uit tekens samen met optionele indelingsspecificaties die beginnen met%.

    De formaatspecificaties worden vervangen door de waarden van de respectievelijke variabelen die volgen op de formaatreeks.

    De formaatspecificatie heeft de volgende onderdelen:

    • Een toonaangevend% -teken
    • Vlaggen: Optioneel een of meer vlaggen die het conversiegedrag wijzigen.
      • -: Links uitvullen van het resultaat binnen het veld. Standaard is het goed gerechtvaardigd.
      • +: Het teken van het resultaat wordt aan het begin van de waarde gehecht, zelfs voor positieve resultaten.
      • Spatie: als er geen teken is, wordt er een spatie aan het begin van het resultaat toegevoegd.
      • #: Er wordt een alternatieve vorm van conversie uitgevoerd.
      • 0: Het wordt gebruikt voor integer en drijvende-kommagetallen. Voorloopnullen worden gebruikt om de cijfers in plaats van de spatie te vullen.
    • Breedte: een optionele * of geheel getal die wordt gebruikt om een ​​veld met een minimale breedte op te geven.
    • Precisie: een optioneel veld bestaande uit een. gevolgd door * of geheel getal of niets om de precisie te specificeren.
    • Lengte: een optionele lengtemodificator die de grootte van het argument aangeeft.
    • Specifier: een specificatie van het conversieformaat. De beschikbare formaatspecificaties zijn als volgt:
      Formaatspecificatie Omschrijving
      % Afdrukken%
      c Schrijft een enkel teken
      s Schrijft een tekenreeks
      d of i Converteert een geheel getal met teken naar een decimale weergave
      O Converteert een geheel getal zonder teken naar een octale weergave
      X of x Converteert een geheel getal zonder teken naar een hexadecimale weergave
      u Converteert een geheel getal zonder teken naar een decimale weergave
      F of f Converteert een getal met een drijvende komma naar de decimale weergave
      E of e Converteert een getal met een drijvende komma naar de decimale exponentnotatie
      A of een Converteert drijvende-kommagetal naar de hexadecimale exponent
      G of g Converteert drijvende-kommagetal naar decimale of decimale exponentnotatie
      n Retourneert het aantal tekens dat tot dusver door deze aanroep naar de functie is geschreven. Het resultaat wordt geschreven naar de waarde waarnaar het argument verwijst
      p Schrijft een door de implementatie gedefinieerde tekenreeks die een pointer definieert.

      Dus het algemene formaat van de formaatspecificatie is: %(flags)(width)(.precision)(length)specifier

  • …: Andere aanvullende argumenten die de gegevens specificeren die moeten worden afgedrukt. Ze komen voor in een reeks volgens de formaatspecificatie.

printf () Retourwaarde

Als dit lukt, printf()retourneert de functie het aantal geschreven tekens. Bij een storing wordt een negatieve waarde geretourneerd.

Voorbeeld 1: hoe printf () functie werkt

 #include int main() ( int x = 5; char my_name() = "Lincoln"; printf("x = %d ", x); printf("My name is %s ", my_name); return 0; )

Wanneer u het programma uitvoert, is de uitvoer:

 x = 5 Mijn naam is Lincoln

Voorbeeld 2: meer voorbeelden op printf ()

 #include int main() ( char ch = 'a'; float a = 5.0, b = 3.0; int x = 10; printf("%.3f / %.3f = %.3f ", a,b,a/b); printf("Setting width %*c ",5,ch); printf("Octal equivalent of %d is %o ",x,x); return 0; )

Wanneer u het programma uitvoert, is de uitvoer:

 5.000 / 3.000 = 1.667 Breedte instellen een octaal equivalent van 10 is 12

Interessante artikelen...