|
Naredbe printf služe za formatirani ispis teksta.
Sintaksa funkcije printf je:
| int printf (format, ulaz1, ulaz2,…) |
format se sastoji od teksta unutar kojega se obavlja pretvorba, umetanje i ispis parametara ulaz1, ulaz2… Format pretvorbe se sastoji od slijedećih dijelova [obvezni su % (znak za postotak) i znak za pretvorbu]:
| %[opcije pretvorbe][preciznost][znak za pretvorbu] |
a) Opcije pretvorbe:
Iza znaka % može slijediti jedna ili više opcije pretvorbe
Vrijednost je lijevo poravnata unutar zadanog područja # Za oktalne brojeve (%o), ispisuje se 0 (nula) ispred broja, za heksadekadske brojeve (%x i %X) ispisuje se 0x ili 0X ispred broja, za ispis (%e i %E) uvijek ispisuje decimalnu točku za ispis (%g i %G) uvijek ispisuje decimalnu točku, decimalne nule se ne izostavljaju + uvijek ispisuje predznak (+ ili -) space ispisuje prazno mjesto za pozitivne vrijednosti 0 za ispis brojeva umjesto razmaka ispisuje vodeće nule za %d, %o, %u, %x, %X kada je zadana preciznost, 0 (nula) opcija je zanemarena |
b) Preciznost (širina polja) ispisane vrijednosti
preciznost unosimo kao jedan ili dva broja odvojena točkom (w.w) isped znaka za pretvorbu.
Prvi broj uvijek određuje širinu polja predviđenu za ispis. Ako je vrijednost kraća od dužine polja prazna polja se popunjavaju razmakom [vidi djelovanje a) opcije pretvorbe 0 (nula)].
Ako je vrijednost šira od predviđene dolazi do automatskog povećanja širine.
Kod realnih brojeva (%f, %e, %E, %g i %G) drugi broj označava broj decimalnih mjesta unutar duljine polja.
Preciznost cjelobrojnih brojeva %d, %o, %u, %x, %X određuje najmanji broj znamenki koje će biti ispisane.
Određena je jednim brojem ispred znaka za pretvorbu.
c) Znakovi za pretvorbu:
Zadnji dio formata je znak za pretvorbu i on je obvezan. Neki od mogućih znakova su:
|
% · ispisuje se % (znak za postotak) d · prihvaća cjelobrojnu vrijednost i pretvara u predznačni zapis. o · prihvaća cjelobrojnu vrijednost i pretvara oktalni zapis. u · prihvaća cjelobrojnu vrijednost i pretvara u bezpredznačni zapis. x, X · cjelobrojnu vrijednost i pretvora u heksadekadski zapis.· Mala slova a-f se koriste kod x pretvorbe a velika kod X pretvorbe. f · prihvaća float ili double vrijednost i pretvora u decimalni zapis. e, E - float ili double vrijednost, pretvora u znanstveni zapis. g, G - float or double vrijednosti, pretvara ih u decimalni ili znanstveni zapis. · Bit će izabran kraći prikaz c · prihvaća niz znakova i ispisuje samo prvi znak u nizu s · prihvaća niz znakova i ispisuje broj znakova određen preciznošću.·
|
·Ako preciznost nije zadana ispisuje sve znakove do null znaka.
|