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).

Uporaba

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

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

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

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.