printf

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 formataUredi

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.

TipoviUredi

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.

CUredi

 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.

JavaUredi

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");

PythonUredi

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

UnixUredi

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

IzvoriUredi

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

Vanjske povezniceUredi


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