Funkcia printf () v C ++ sa používa na zápis formátovaného reťazca na štandardný výstup.
printf () prototyp
int printf (formát const char *, …);
printf()
Funkcia zapíše reťazec, na ktorý ukazuje formát na štandardný výstup. Formát reťazca môže obsahovať špecifikátory formátu začínajúce na%, ktoré sú nahradené hodnotami premenných, ktoré sú printf()
funkcii odovzdané ako ďalšie argumenty.
Je definované v hlavičkovom súbore.
printf () parametre
- formát: Ukazovateľ na reťazec s nulovým zakončením, ktorý sa zapíše do toku súborov. Skladá sa zo znakov spolu s voliteľnými špecifikátormi formátu začínajúcich na%.
Špecifikátory formátu sú nahradené hodnotami príslušných premenných, ktoré nasledujú za formátovacím reťazcom.
Špecifikátor formátu má tieto časti:
- Vedúci znak%
- Príznaky: Voliteľný jeden alebo viac príznakov, ktoré upravujú správanie pri konverzii.
- -: Zarovnanie doľava k výsledku v rámci poľa. Štandardne je to zarovnané doprava.
- +: Znamienko výsledku sa pripája na začiatok hodnoty, a to aj v prípade pozitívnych výsledkov.
- Medzera: Ak nie je žiadny znak, na začiatok výsledku sa pripojí medzera.
- #: Vykoná sa alternatívna forma konverzie.
- 0: Používa sa na celé číslo a číslo s pohyblivou rádovou čiarkou. Na vyplnenie čísel namiesto medzery sa používajú úvodné nuly.
- Šírka: Voliteľná * alebo celočíselná hodnota používaná na zadanie poľa minimálnej šírky.
- Presnosť: Nepovinné pole pozostávajúce z a. za ktorými nasleduje * alebo celé číslo alebo nič, aby sa určila presnosť.
- Dĺžka: Voliteľný modifikátor dĺžky, ktorý určuje veľkosť argumentu.
- Špecifikátor: Špecifikátor formátu prevodu. Dostupné špecifikátory formátu sú:
Špecifikátor formátu Popis % Vytlačí% c Píše jeden znak s Zapíše reťazec znakov d alebo i Skonvertuje celé číslo so znamienkom na desatinné miesto o Skonvertuje celé číslo bez znamienka na osmičkovú reprezentáciu X alebo x Skonvertuje celé číslo bez znamienka na hexadecimálne vyjadrenie u Skonvertuje celé číslo bez znamienka na desatinné miesto F alebo f Prevedie číslo s pohyblivou rádovou čiarkou na desatinné miesto E alebo e Skonvertuje číslo s pohyblivou desatinnou čiarkou na desatinný zápis exponentu A alebo a Prevedie číslo s pohyblivou rádovou čiarkou na hexadecimálny exponent G alebo g Prevedie číslo s pohyblivou rádovou čiarkou na desatinný alebo desatinný zápis exponentu n Vráti počet znakov doteraz napísaných týmto volaním funkcie. Výsledok sa zapíše na hodnotu, na ktorú poukazuje argument p Zapíše postupnosť znakov definujúcich implementáciu, ktorá definuje ukazovateľ. Všeobecný formát špecifikátora formátu je teda:
%(flags)(width)(.precision)(length)specifier
- …: Ďalšie ďalšie argumenty určujúce údaje, ktoré sa majú vytlačiť. Vyskytujú sa v poradí podľa špecifikátora formátu.
printf () Vrátiť hodnotu
Ak je úspešná, printf()
funkcia vráti počet napísaných znakov. Pri zlyhaní vráti zápornú hodnotu.
Príklad 1: Ako funguje funkcia printf ()
#include int main() ( int x = 5; char my_name() = "Lincoln"; printf("x = %d ", x); printf("My name is %s ", my_name); return 0; )
Po spustení programu bude výstup:
x = 5 Volám sa Lincoln
Príklad 2: Viac príkladov na 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; )
Po spustení programu bude výstup:
5 000/3 000 = 1 667 Nastavenie šírky a osmičkového ekvivalentu 10 je 12