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)