////////////////////////////////////////////////////////////////////////////////
// ITS – Visoka Škola Strukovnih Studija Za Informacione Tehnologije
//
https://www.its.edu.rs/
// Predmet: Osnovi Programiranja – Programski jezik
// Primer: Demonstracija otvaranja datoteka (“r” – read i “w” – write mod).
// Osnovne tehnike rada sa datotekama.
/////////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>

main()
{
int i;

          //Otvaramo datoteku podaci.txt za pisanje
FILE *f = fopen(“podaci.txt”, “w”);

          // Ukoliko otvaranje nije uspelo, fopen vraca NULL,
//prijavljujemo gresku i zavrsavamo program
          if (f == NULL)
{
printf(“Greska prilikom otvaranja datoteke podaci.txt za pisanje
“);
exit(1);
}

          // Upisujemo u datoteku prvih 10 prirodnih brojeva, svaki u posebnom redu
for (i=0; i<10; i++)
fprintf(f, “%d
“, i+1);
// Zatvaramo datoteku
fclose(f);

          // Otvaramo datoteku podaci.txt za citanje
f = fopen(“podaci.txt”, “r”);

          // Ukoliko otvaranje nije uspelo, fopen vraca NULL,
// prijavljujemo gresku i zavrsavamo program

if (f == NULL)
{
printf(“Greska prilikom otvaranja datoteke podaci.txt za citanje
“);
exit(1);
}

          // Citamo brojeve iz datoteke dok ne stignemo do kraja
// i ispisujemo ih na standardni izlaz

while(1) {
int br;

                      // Pokusavamo da procitamo broj
fscanf(f, “%d”, &br);

                      // Ukoliko smo dosli do kraja datoteke, prekidamo
                      if (feof(f))
break;
// Ispisujemo procitani broj
                     printf(“Procitani broj iz podaci.txt : %d
“, br);
}
fclose(f);
}

 

NAPOMENA:
Funkciju feof ne treba pozivati pre pokušaja čitanja.
Sledeći kod može dovesti do greške:
while (!feof(f))
fscanf(f,”%d”,&br);

NAPOMENA:
Primer definisanja proizvoljne putanje:
C:Documents and SettingsstudentDesktoppodaci.txt