Rad sa datotekama

Osim ispisivanja na standardni izlaz i učitavanja sa standardnog ulaza, moguće je potrebne podatke pomoću C++-a upisati u odgovarajuću datoteku (fajl) kako bi se oni sačuvali za eventualno korišćenje u budućnosti.

Biblioteka fstream sadrži tipove podataka koji omogućavaju upisivanje i čitanje iz datoteka:

ofstream – za kreiranje datoteke i upisiivanje u nju;
ifstream – za čitanje iz datoteke;
fstream – za pisanje i čitanje.

Naše potrebe trenutno zadovoljava ofstream, tako da ćemo se usredsrediti na to.

Da bi se pristupilo datoteci, potrebno je prvo je otvoriti, npr:

ofstream fajl;

fajl.open(“primer.txt”);                ili                     fajl.open(”c:\\dir\\primer.txt“);

U prvom primeru data je relativna, a u drugom apsolutna adresa direktorijuma.

 

Upisivanje u datoteku se vrši pomoću operatora <<, npr:

string s;

fajl<<s<<endl;

Da bi se čitalo iz bibloteke potrebno je prvo je otvoriti, npr:

ifstream fajl;

fajl.open(“primer.txt”);
Prilikom čitanja reda teksta iz datoteke koristimo funkciju getline() koja ima dva argumenta.

Prvi argument ove funkcije je izvor teksta koji može biti standardni ulaz (cin) ili neka datoteka (npr. fajl), a drugi argument je string u koji upisujemo sadržaj pročitanog reda.

Da bismo iščitali sve redove teksta iz datoteke možemo da koristimo funkciju while, npr:

while(!fajl.eof())

{

getline(fajl, tekst);

cout<<tekst<<endl;

}

Oznaka fajl.eof() predstavlja kraj fajla fajl (eof – end of file).

Nakon rada sa datotekom, potrebno je da je zatvorimo,

npr:

fajl.close();

[catlist categorypage="yes" numberposts=-1 customfield_orderby=redosled order=asc]