12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

214 POGLAVLJE 13. DATOTEKE13.1.1 Tekstualne i binarne datotekeANSI standard poznaje dvije vrste datoteka: tekstualne i binarne. Razlikamedu njima je u načinu na koji se interpretira sadržaj datoteke.Binarna datoteka je niz podataka tipa char. Budući da se svaki tippodatka u C-u (int, double, struct ...) može preslikati u niz vrijednostitipa char, u binarnu je datoteku moguće upisati podatke onako kako sureprezentirani u računalu.Teksualna datoteka je niz znakova podijeljenih u linije. Svaka linija sadržinula ili više znakova iza kojih slijedi znak za prijelaz u novi red ’\n’. Tekstualnedatoteke su namijenjene pohranjivanju tekstualnih podataka.Vidimo da pojam binarne datoteke odgovara našoj prethodnoj definicijidatoteke kao niza znakova. Tekstualna datoteka je isto tako niz znakova ali seon interpretira na malo drugačiji način. Potreba za razlikovanjem izmedu tekstualnihi binarnih datoteka pojavila se stoga što različiti operacijski sustavikoriste različite načine označavanja kraja linije: programski <strong>jezik</strong> C označavakraj linije znakom ’\n’.Pod operacijskim sustavom UNIX, znak za kraj linije je ’\n’ (kao i uC-u) te stoga pod UNIXom nema razlike izmedu binarne i tekstualne datoteke.Dvije vrste datoteka implementirane su na isti način.Operacijski sustav MS-DOS kraj linije označava s dva znaka ’\r’’\n’,dok npr. Macintosh koristi znak ’\r’. Kada C otvori tekstualnu datotekukreiranu pod MS-DOSom on će svaki par znakova ’\r’ ’\n’ pretvoriti uznak ’\n’. Analogna se transformacija provodi s Macintoshovim tekstualnimdatotekama. Pored toga neki MS-DOS editori označavaju kraj datotekeznakom Ctr-Z dok C nema poseban znak za kraj datoteke.Treba uočiti da C omogućava da danu datoteku promatramo kao binarnuili tekstualnu prema našim potrebama, neovisno o tome da li datoteka sadržitekstualne podatke ili ne. Tekstualnu datoteku formiranu npr. pod MS-DOSom možemo otvoriti i kao tekstualnu i kao binarnu. Razlika je prikazanana slici 13.1.1.13.1.2 Razine ulaza/izlazaPostoje dvije razine ulazno-izlaznih operacija. 1) Moguće je neposrednokoristiti funkcije za ulaz/izlaz koje nudi operacijski sustava; to je niska razinaulaza/izlaza. 2) Moguće je koristiti standardne ulazno/izlazne funkcije čijisu prototipovi dani u datoteci. To je standardna visoka razinaulaza/izlaz. Funkcije iz standardne biblioteke <strong>jezik</strong>a C skrivaju od korisnikajedan niz detalja vezanih uz operacijski sustav pa su stoga jednostavnijeza korištenje od funkcija koje nudi operacijski sustav. Pored toga kôd koji

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!