C ++ printf () - C ++ Standardbibliotek

Funktionen printf () i C ++ bruges til at skrive en formateret streng til stdout.

printf () prototype

 int printf (const char * format,…);

Den printf()funktion skriver strengen peget på af format til stdout. Strengformatet kan indeholde formatspecifikatorer, der starter med%, som erstattes af værdierne for variabler, der sendes til printf()funktionen som yderligere argumenter.

Det er defineret i header-fil.

printf () Parametre

  • format: Markør til en null afsluttet streng, der skrives til filstrømmen. Den består af tegn sammen med valgfri formatspecifikationer, der starter med%.

    Formatspecifikationerne erstattes af værdierne for de respektive variabler, der følger formatstrengen.

    Formatspecifikatoren har følgende dele:

    • Et førende% tegn
    • Flag: Valgfrit et eller flere flag, der ændrer konverteringsadfærden.
      • -: Venstre retfærdiggør resultatet inden for feltet. Som standard er det retfærdiggjort.
      • +: Tegn på resultatet er knyttet til begyndelsen af ​​værdien, selv for positive resultater.
      • Mellemrum: Hvis der ikke er noget tegn, er der knyttet et mellemrum til begyndelsen af ​​resultatet.
      • #: En alternativ form for konvertering udføres.
      • 0: Det bruges til heltal og flydende nummer. Førende nuller bruges til at padde numrene i stedet for mellemrum.
    • Bredde: En valgfri * eller heltalsværdi, der bruges til at angive et minimumsbreddefelt.
    • Præcision: Et valgfrit felt bestående af en. efterfulgt af * eller heltal eller intet for at specificere præcisionen.
    • Længde: En valgfri længdemodifikator, der angiver størrelsen på argumentet.
    • Specifier: En konverteringsformatspecifikator. De tilgængelige formatspecifikatorer er som følger:
      Format Specifier Beskrivelse
      % Udskriver%
      c Skriver et enkelt tegn
      s Skriver en tegnstreng
      d eller i Konverterer et underskrevet heltal til decimalrepræsentation
      o Konverterer et usigneret heltal til oktal repræsentation
      X eller x Konverterer et usigneret heltal til hexadecimal repræsentation
      u Konverterer et usigneret heltal til decimalrepræsentation
      F eller f Konverterer flydende nummer til decimalrepræsentationen
      E eller e Konverterer flydende nummer til decimaleksponentnotationen
      A eller a Konverterer flydende nummer til den hexadecimale eksponent
      G eller g Konverterer flydende nummer til enten decimal- eller decimaleksponentnotation
      n Returnerer antallet af tegn, der hidtil er skrevet af dette opkald, til funktionen. Resultatet skrives til den værdi, som argumentet peger på
      s Skriver en implementeringsdefineret tegnsekvens, der definerer en markør.

      Så det generelle format for formatspecifikator er: %(flags)(width)(.precision)(length)specifier

  • …: Andre yderligere argumenter, der specificerer de data, der skal udskrives. De forekommer i en sekvens i henhold til formatspecifikatoren.

printf () Returværdi

Hvis det lykkes, printf()returnerer funktionen antallet af tegn, der er skrevet. Ved fejl returnerer den en negativ værdi.

Eksempel 1: Sådan fungerer printf () -funktionen

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

Når du kører programmet, vil output være:

 x = 5 Jeg hedder Lincoln

Eksempel 2: Flere eksempler på 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; )

Når du kører programmet, vil output være:

 5.000 / 3.000 = 1.667 Indstillingsbredde en oktalækvivalent på 10 er 12

Interessante artikler...