U programiranju često želimo da sačuvamo podatke kako bi ostali dostupni i nakon što se program završi.
To se radi pomoću datoteka (fajlova).

U datoteke možemo upisivati i iz njih čitati različite vrste podataka.
Najčešće se koriste dve vrste datoteka:

  • Tekstualne datoteke – podaci se čuvaju kao običan tekst (čovek može da ih pročita u Notepadu).

  • Binarne datoteke – podaci se čuvaju u obliku bajtova (računar ih razume, ali čovek ne).

Primeri iz stvarnog života
  • Tekstualni fajl može biti spisak učenika, dnevnik, ili rezultati testova.

  • Binarni fajl može biti slika, audio zapis, ili čuvanje podataka o objektima u programu (npr. igra čuva stanje).


1. Tekstualne datoteke

📘 U C jeziku

Za rad sa datotekama u C-u koristi se pokazivač tipa FILE* i funkcije iz biblioteke stdio.h.

🔹 Primer: upis i čitanje teksta
#include <stdio.h>

int main() {
    FILE *fajl = fopen("podaci.txt", "w"); // otvaranje za pisanje
    if (fajl == NULL) {
        printf("Greška pri otvaranju datoteke!\n");
        return 1;
    }

    fprintf(fajl, "Ime: Marko\n");
    fprintf(fajl, "Godine: 18\n");
    fclose(fajl);

    // Čitanje
    fajl = fopen("podaci.txt", "r");
    char linija[50];
    while (fgets(linija, sizeof(linija), fajl)) {
        printf("%s", linija);
    }
    fclose(fajl);
    return 0;
}

📄 Objašnjenje:

  • fopen("naziv", "w") otvara datoteku za pisanje.

  • fprintf() upisuje tekst u fajl.

  • fgets() čita red po red.

  • fclose() zatvara datoteku.


📘 U C# jeziku

U C#-u se koristi System.IO biblioteka sa klasama StreamWriter i StreamReader.

🔹 Primer: upis i čitanje teksta
using System;  // ovo se koristi za sve vrste aplkacija
using System.IO;  // OBAVEZNO DODATI za rad sa ulazom i izlazom (i fajlovima)!

// namespace .....
class Program { static void Main() { // Upis u datoteku using (StreamWriter sw = new StreamWriter("podaci.txt")) { sw.WriteLine("Ime: Marko"); sw.WriteLine("Godine: 18"); } // Čitanje iz datoteke using (StreamReader sr = new StreamReader("podaci.txt")) { string linija; while ((linija = sr.ReadLine()) != null) Console.WriteLine(linija); } } }

📄 Objašnjenje:

  • StreamWriter služi za pisanje teksta, a StreamReader za čitanje.

  • Ključna reč using automatski zatvara datoteku kad se završi blok.


Last modified: Friday, 31 October 2025, 4:20 PM