////////////////////////////////////////////////////////////////////////////////
// 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