Kod: |
FILE* zamijeni(FILE *fpin, FILE *fpout) { FILE *temp; char c; fscanf(fpin, "%c", &c); if (fpin==EOF) return NULL; if (c=='x') { temp=fpin; fscanf(fpin, "%c", &c); if (c=='a') { fprintf(fpout, "%s", "iweigjw"); } else fprintf (fpout, "x%c", c); } else fprintf(fpout, "%c", c); return fpin; } int main(void) { FILE *fpin, *fpout, *temp; char c; fpin=fopen("test.txt", "r"); fpout=fopen("izlaz.txt", "w"); while(fpin!=NULL) { fpin=zamijeni(fpin, fpout); } fclose(fpin); fclose(fpout); return 0; } |
krilo (napisa): | ||
|
Documentation of fscanf (napisa): |
On success the number of input fields converted and stored are returned. If an input failure occurred, then EOF is returned. |
Kod: |
if(fscanf(fpin, "%c", &c) != EOF) {
/* nesto smo procitali */ } else { /* dosli smo do kraja datoteke */ } |
Spoiler : |
Citat: |
Prema tome, pointer fpin koji pokazuje na nešto u memoriji nikako ne može pokazivati na poziciju u datoteci. |
krilo (napisa): |
E pa baš mi nikako nije bilo jasno što je taj EOF |
stdio.h (napisa): | ||
|
output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.