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.

218 POGLAVLJE 13. DATOTEKE13.3 Funkcije za čitanje i pisanjeFunkcije getchar, putchar, gets, puts, printf i scanf imaju analogneverzije getc, putc, fgets, fputs, fprintf i fscanf koje rade s datotekama.Sve te funkcije kao prvi argument uzimaju pokazivač na spremnik(pokazivač na FILE) povezan s datotekom.13.3.1 Čitanje i pisanje znak po znakFunkcijeint getc(FILE *fp)int fgetc(FILE *fp)vraćaju sljedeći znak iz datoteke na koju pokazuje fp. Razlika izmedu getci fgetc je u tome da getc može biti implementirana kao makro naredba dokfgetc ne smije. U slučaju greške ili kraja datoteke vraća se EOF. To je razlogšto je tip vraćene vrijednosti int umjesto char. Funkcija getchar() kojusmo uveli u Poglavlju 5 implementira se kao getc(stdin).Program u sljedećem primjeru broji znakove u datoteci koja je navedenakao argument komandne linije.#include #include int main(int argc, char *argv[]){int ch,count=0;FILE *fpt;if(argc==1){ /* ime datoteke nedostaje */printf("\nUporaba: %s ime_datoteke\n",argv[0]);exit(-1);}else if((fpt=fopen(argv[1],"r"))==NULL){printf("Ne mogu otvoriti datoteku %s\n",argv[1]);exit(-1);}while((ch=fgetc(fpt))!=EOF) count++;fclose(fpt);printf("\nBroj znakova = %d\n",count);

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

Saved successfully!

Ooh no, something went wrong!