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