[go: up one dir, main page]

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

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

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

Naziv Opis
Funkcije za manipulaciju datotekama
fclose Zatvara datoteku s parametrom FILE *
fopen, freopen Otvara datoteku za upis ili ispis podataka
remove Briše datoteku
rename Mijenja naziv datoteke
rewind isko kao i ifseek
tmpfile Stvara privremenu datoteku koja se briše nakon uporabe funkcije fclose()
Funkcije za manipulaciju ulazom i izlazom
clearerr Briše end-of-file i indikator greške
feof Provjerava end-of-file indikator
ferror Provjerava indikator greške (error)
fflush Upisuje izlaz u datoteku (bufer)
fgetpos stores the file position indicator of the stream associated by its first argument (a FILE *) to its second argument (a fpos_t *)
fgetc vraća jedan znak iz datoteke
fgets vraća string, niz znakova iz datoteke(završetak stringa je nova linija ili kraj datoteke)
fputc upisuje znak u datoteku
fputs upisuje string u datoteku
ftell vraća poziciju u datoteci za funkciju fseek
fseek pretraživanje datoteke
fsetpos postavlja poziciju u datoteci, FILE * pohranjenu kao drugi argument funkcije ( fpos_t *)
fread čita podatke iz datoteke
fwrite upisuje podatke u datoteku
getc čita znak iz datoteke
getchar istko kao getc(stdin)
gets čita znakove sa standardnog ulaza (stdin) dok ne naiđe na kraj linije i sprema ih u argument
printf, vprintf ispis podataka an standardni izlaz
fprintf, vfprintf upis podataka u datoteku
sprintf, snprintf, vsprintf, vsnprintf ispis znakovnog polja, niza (array)(C string)
perror ispisuje kod greške
putc vraća znak
putchar, fputchar isto kao i putc(stdout)
scanf, vscanf učitavanje podataka sa standardnog ulaza
fscanf, vfscanf učitavanje podataka iz datoteke
sscanf, vsscanf učitavanje znakovnog polja
setbuf, setvbuf postavljanje moda buffera
tmpnam izrada privremene datoteke
ungetc vraća znak
puts ispis znaka na standardnom izlazu

Varijable biblioteke

uredi

U biblioteci stdio.h nalaze se i ove varijable:

Naziv Opis
stdin pokazivač na datoteku (FILE) koji pokazuje na standardni ulaz, najčešće tipkovnicu
stdout pokazivač na datoteku (FILE) koji pokazuje na standadni izlaz, najčešće ekran računala.
stderr pokazivač na datoteku (FILE) koji pokazuje na ekran računala.

Konstante biblioteke

uredi

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

Naziv Opis
EOF negativna cjelobrojna vrijednost tipa int koja označava kraj datoteke
BUFSIZ int vrijednost koja označava veličinu buffera funkcije setbuf()
FILENAME_MAX veličina char polja za spremanje naziva bilo koje datoteke koja se otvara
FOPEN_MAX broj istovremeno otvorenih datoteka, najmanje 8
_IOFBF kratica od "input/output fully buffered"; integer koji se šalje funkciji setvbuf() (blok buffer)
_IOLBF kratica od "input/output line buffered"; integer koji se šalje funkciji setvbuf() (line buffer)
_IONBF kratica od "input/output line buffered"; integer koji se šalje funkciji setvbuf() (unbuffered)
L_tmpnam veličina char polja dovoljna za stvaranje privremene datoteke funkcijom tmpnam()
NULL null pokazivač
SEEK_CUR integer za funkciju fseek() za relativno pozicioniranje s obzirom na sadašnju poziciju
SEEK_END integer za funkciju fseek() za relativno pozicioniranje s obzirom na kraj datoteke
SEEK_SET integer za funkciju fseek() za relativno pozicioniranje s obzirom na početak datoteke
TMP_MAX maksimalan broj jedinstvenih naziva datoteka generiranih tmpnam() funkcijom, najmanje 25


Vanjske poveznice

uredi