stdio.h
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).
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 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 |
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 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 |
- C standardna biblioteka Arhivirana inačica izvorne stranice od 2. ožujka 2005. (Wayback Machine)
- stdio.h Arhivirana inačica izvorne stranice od 5. kolovoza 2009. (Wayback Machine)