printf ime je naredbe za ispis obično dostupne na svim *nix operacijskim sustavima kao naredbe sustava, te naredbe za ispis u mnogim programskim jezicima. Uzrok raširenosti ove naredbe leži u širokim mogućnostima oblikovanja ispisa prema željama programera odnosno najčešće sukladno nekim tipičnim zahtjevima, npr:

  • brojevi, kad je riječ o novcu, bankovnim ili drugim računima odnosno transankcijama obično se potpisuju jedan ispod drugoga tako da su jedinice ispod jedinica, desetice ispod desetica, stotice ispod stotica itd.; brojke su obično pozicionirane uz desnu marginu
  • nadnevci također imaju uobičajene načine ispisa, od kojih je u hrvatskom jeziku najčešći oblik dan. mjesec godina. ako je mjesec napisan slovima, odnosno dan. mjesec. godina. ako je mjesec napisan brojkom

Oblik naredbe i definicija formata uredi

printf naredba ima sljedeći oblik: printf "format" parametri. Format se definira na sljedeći način:

%[parametar][zastavice][širina ispisa][.preciznost][duljina]tip

Parametri u uglatim zagradama su opcionalni, samo su dva parametra obvezna, znak % i tip podatka koji se ispisuje.

Tipovi uredi

slovo tip predstavljen slovom primjer
d (dekadski) cijeli broj s predznakom %d - ispiši kao dekadski cijeli broj

%6d- ispiši kao dekadski cijeli broj širine najviše 6 znamenaka

u (dekadski) cijeli broj bez predznaka (unsigned)
o oktalni cijeli broj bez predznaka
x heksadekadski cijeli broj bez predznaka
e,f,g broj s pomičnim zarezom, s ili bez eksponenta %6.2f - ispis realnog broja najveće širine 6 znamenaka, s dvije znamenke iza decimalne točke
c ispis jednog znaka (char) %c
s ispis niza znakova (string) %s

Napomena - ovo je nepotpuna tablica, navedeni su samo najčešći tipovi.

C uredi

 printf("Boja je %s, cijeli broj 1: %d, cijeli broj 2: %05d, heksadekadski broj %#x, racionalni broj %5.2f, cijeli dekadski broj bez predznaka %u.\n",
        "plava", 123456, 89, 255, 3.14159, 250);

Gornja C naredba će ispisati (uključujući znak za novi redak - \n):

Boja je plava, cijeli broj 1: 123456, cijeli broj 2: 00089, heksadekadski broj 0xff, racionalni broj 3.14, cijeli dekadski broj bez predznaka 250.

Java uredi

Java od inačice 1.5 ima naredbu printf kao dio java.io.PrintStream klase (tj. printf je dio standardnog Java API-ja od inačice 1.5).

// Ispis "Hrvatska wikipedija" na standardni izlaz
System.out.printf("%s, %s", "Hrvatska", "wikipedija");

Python uredi

print("Umnožak pet i šest je {0}.".format(5*6))
Umnožak pet i šest je 30.

Unix uredi

printf naredba je ugrađena u bash ljusku.[1]

$ JEZIK=Hrvatska
$ PROJEKT=wikipedija
$ printf "%s %s\n" "$JEZIK" "$PROJEKT"
Hrvatska wikipedija

Popis programskih jezika koji imaju printf naredbu (ili njen ekvivalent) uredi

Izvori uredi

  1. Ken O. Burtch, Linux Shell Scripting with Bash, ISBN 0-672-32642-6, str. 356

Vanjske poveznice uredi

Nedovršeni članak Printf koji govori o računarstvu treba dopuniti. Dopunite ga prema pravilima Wikipedije.