C ++ printf () - C ++ standardraamatukogu

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

printf () prototüüp

 int printf (const char * formaat,…);

printf()Funktsioon kirjutab stringi osutas poolt formaat standardväljundit. Stringi formaat võib sisaldada formaadispetsifikaate, mis algavad% -ga ja mis asendatakse printf()funktsiooniga täiendavate argumentidena edastatavate muutujate väärtustega .

See on määratletud päisefailis.

printf () parameetrid

  • formaat: kursor nulliga lõpetatud stringi jaoks, mis kirjutatakse failivoogu. See koosneb märkidest koos valikuliste vorminguspetsifikaatoritega, mis algavad% -ga.

    Vorminguspetsifikaatorid asendatakse vastavate muutujate väärtustega, mis järgivad vormindusstringi.

    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:
      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: %(flags)(width)(.precision)(length)specifier

  • …: Muud täiendavad argumendid, mis täpsustavad prinditavaid andmeid. Need esinevad järjestuses vastavalt vorminguspetsifikaatorile.

printf () Tagastusväärtus

Kui see õnnestub, printf()tagastab funktsioon kirjutatud märkide arvu. Ebaõnnestumisel tagastab negatiivse väärtuse.

Näide 1: Kuidas funktsioon printf () töötab

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

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

 x = 5 Minu nimi on Lincoln

Näide 2: Veel näiteid 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; )

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

 5.000 / 3.000 = 1.667 Seadistuslaius on oktali ekvivalent 10 12

Huvitavad Artiklid...