Prijeđi na sadržaj

stdio.h

Izvor: Wikipedija

stdio.h je kratica od "standard input/output header". stdio.h je datoteka zaglavlja standardne C biblioteke koja sadrži konstante i deklaracije funkcija odnosno naloga koji se koriste za ulaz i izlaz podataka. C++ zbog kompatibilnosti također uključuje stdio.h te ekvivalentnu datoteku zaglavlja cstdio u kojoj se stdio.h poziva nalogom std namespace.

Funkcije deklarirane u stdio.h su iznimno popularne, otkad su dio C standardne biblioteke i rade na svim platformama koje podržavaju C. No, može se dogoditi da će aplikacije na tim platformama umjesto biblioteke stdio.h koristiti svoje rutine za [I/O] operacije (ulaz i izlaz).

Uporaba

[uredi | uredi kôd]

Sve funkcije u C-u su deklarirane u datotekama zaglavlja ili bibliotekama. Programeri u svojim programima za uporabu tih funkcija trebaju samo u izvorni kod programa uključiti datoteke zaglavlja kao stdio.h.

#include <stdio.h>
 
int main(void)
{
    int ch;
    while ((ch = getchar()) != EOF)
        putchar(ch);
    putchar('\n');
    return 0;
}

Ovaj program učitava znakove sa standardnog ulaza (tipkovnice) i ispisuje ih na standardnom izlazu (ekranu), bajt po bajt (znak po znak, dodajući novi redak na kraju ulaza podatka.

Funkcije biblioteke

[uredi | uredi kôd]

Funkcije biblioteke stdio.h možemo podijeliti na funckije za manipulaciju datotekama i funkcije za manipulaciju ulazom/izlazom.

NazivOpis
Funkcije za manipulaciju datotekama
fcloseZatvara datoteku s parametrom FILE *
fopen, freopenOtvara datoteku za upis ili ispis podataka
removeBriše datoteku
renameMijenja naziv datoteke
rewindisko kao i ifseek
tmpfileStvara privremenu datoteku koja se briše nakon uporabe funkcije fclose()
Funkcije za manipulaciju ulazom i izlazom
clearerrBriše end-of-file i indikator greške
feofProvjerava end-of-file indikator
ferrorProvjerava indikator greške (error)
fflushUpisuje izlaz u datoteku (bufer)
fgetposstores the file position indicator of the stream associated by its first argument (a FILE *) to its second argument (a fpos_t *)
fgetcvraća jedan znak iz datoteke
fgetsvraća string, niz znakova iz datoteke(završetak stringa je nova linija ili kraj datoteke)
fputcupisuje znak u datoteku
fputsupisuje string u datoteku
ftellvraća poziciju u datoteci za funkciju fseek
fseekpretraživanje datoteke
fsetpospostavlja poziciju u datoteci, FILE * pohranjenu kao drugi argument funkcije ( fpos_t *)
freadčita podatke iz datoteke
fwriteupisuje podatke u datoteku
getcčita znak iz datoteke
getcharistko kao getc(stdin)
getsčita znakove sa standardnog ulaza (stdin) dok ne naiđe na kraj linije i sprema ih u argument
printf, vprintfispis podataka an standardni izlaz
fprintf, vfprintfupis podataka u datoteku
sprintf, snprintf, vsprintf, vsnprintfispis znakovnog polja, niza (array)(C string)
perrorispisuje kod greške
putcvraća znak
putchar, fputcharisto kao i putc(stdout)
scanf, vscanfučitavanje podataka sa standardnog ulaza
fscanf, vfscanfučitavanje podataka iz datoteke
sscanf, vsscanfučitavanje znakovnog polja
setbuf, setvbufpostavljanje moda buffera
tmpnamizrada privremene datoteke
ungetcvraća znak
putsispis znaka na standardnom izlazu

Varijable biblioteke

[uredi | uredi kôd]

U biblioteci stdio.h nalaze se i ove varijable:

NazivOpis
stdinpokazivač na datoteku (FILE) koji pokazuje na standardni ulaz, najčešće tipkovnicu
stdoutpokazivač na datoteku (FILE) koji pokazuje na standadni izlaz, najčešće ekran računala.
stderrpokazivač na datoteku (FILE) koji pokazuje na ekran računala.

Konstante biblioteke

[uredi | uredi kôd]

Konstante definirane u biblioteci ili datoteci zaglavlja stdio.h su:

NazivOpis
EOFnegativna cjelobrojna vrijednost tipa int koja označava kraj datoteke
BUFSIZint vrijednost koja označava veličinu buffera funkcije setbuf()
FILENAME_MAXveličina char polja za spremanje naziva bilo koje datoteke koja se otvara
FOPEN_MAXbroj istovremeno otvorenih datoteka, najmanje 8
_IOFBFkratica od "input/output fully buffered"; integer koji se šalje funkciji setvbuf() (blok buffer)
_IOLBFkratica od "input/output line buffered"; integer koji se šalje funkciji setvbuf() (line buffer)
_IONBFkratica od "input/output line buffered"; integer koji se šalje funkciji setvbuf() (unbuffered)
L_tmpnamveličina char polja dovoljna za stvaranje privremene datoteke funkcijom tmpnam()
NULLnull pokazivač
SEEK_CURinteger za funkciju fseek() za relativno pozicioniranje s obzirom na sadašnju poziciju
SEEK_ENDinteger za funkciju fseek() za relativno pozicioniranje s obzirom na kraj datoteke
SEEK_SETinteger za funkciju fseek() za relativno pozicioniranje s obzirom na početak datoteke
TMP_MAXmaksimalan broj jedinstvenih naziva datoteka generiranih tmpnam() funkcijom, najmanje 25


Vanjske poveznice

[uredi | uredi kôd]