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.

80 POGLAVLJE 5. ULAZ I IZLAZ PODATAKA}putchar(toupper(c));Zagrade u testu (c=getchar())!=EOF su nužne jer bi c=getchar()!=EOF,zbog niskog prioriteta operatora pridruživanja, bilo interpretirano kao testc=(getchar()!=EOF). Varijabla c bi tada dobila vrijednost 0 ili 1.Ponašanje funkcije getchar ovisi o operacijskom sustavu na kojem se programizvršava. Operacijski sustav prikuplja podatke s tastature i šalje ih aplikacijskomprogramu najčešće liniju po liniju. Takav način rada omogućavaoperacijskom sustavu standardno editiranje ulazne linije (korištenje tipki backspacei delete) koje stoga ne mora biti ugradeno u svaki program. Posljedicaje toga da prvi poziv funkciji getchar blokira program sve dok se neukuca čitava ulazna linija i pritisne tipka RETURN (ENTER). Tada su sviučitani znakovi na raspolaganju funkciji getchar. Čitanje znaka odmah nakonšto je otipkan ili onemogućavanje ispisa utipkanog znaka može se postićispecifičnim tehnikama programiranja vezanim uz operacijski sustav koji sekoristi (http://www.eskimo.com/ scs/C-faq/top.html).Kada na ulazu nema podataka funkcija getchar čeka da se podaci utipkaju.Da bismo zaustavili čitanje moramo utipkati znak za “kraj datoteke”.Pod unix-om to je znak Ctr-D, a pod DOSom Ctr-Z.Funkciju getchar često koristimo za čitanje jednog znaka (npr. odgovoray ili n). U tim slučajevima moramo paziti da pročitamo sve znakove u liniji,uključivši znak za prijelaz u novi red, kako ne bi ostali za slijedeći pozivfunkcije getchar. Na primjer, ovdje dajemo funkciju koja čita samo prvoslovo s ulaza:int get_first(void) {int ch;}ch=getchar();while(getchar() != ’\n’); // prazna naredbareturn ch;5.2 Funkcije iz datoteke Datoteka zaglavlja sadrži deklaracija niza funkcija koje služetestiranju znakova. Svaka od tih funkcija uzima jedan argument tipa int kojitreba biti znak ili EOF i vraća vrijednost tipa int koja je različita od nule(istina) ako je uvjet ispunjen ili nula ako nije. Neke od funkcija su sljedeće:

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

Saved successfully!

Ooh no, something went wrong!