Svaki veći program mora komunicirati s datotekama. Mora moći zapisivati podatke u datoteku i kasnije ih ispisivati iz datoteke. Koja je svrha našeg programa ako nema bazu podataka koju može nadopunjavati i kojom se može služiti za operacije koje mi želimo.
Zamislite program koji kategorizira našu kolekciju filmskih DVD-a. Ako naš program ne bi mogao zapisivati nove DVD-ove u datoteku i kasnije nam ih pokazivati, taj program nema nikakve šanse kod krajnjeg korisnika.
Program koji će ispisivati niz koji unesemo u datoteku:
#include<iostream>#include<fstream> Za rad s datotekama potrebno je uključiti fstream bibliotekuusing namespace std;int main(){ int niz[20],k,x; ofstream izlaz("datoteka.txt"); Naredbom ofstream deklariramo ispis u dato- cin>>k; teku, mi smo odabrali riječ izlaz ali to je for (x=0;x<k;x++) proizvoljno, kao i naziv datoteke. { cin>>niz[x];} for (x=0;x<k;x++) { izlaz<<niz[x]<<endl; Kao i naredba cout, izlaz ovdje označava } ispis, jedina razlika je u mjestu ispisa,cout system("PAUSE"); ispisuje u onaj mali crni prozor, a izlaz return 0; u datoteku.}
Nakon što pokrenemo svoj program u datoteci u kojoj se on nalazi trebala bi se pojaviti TXT datoteka naziva datoteka. Nakon što ju otvorimo trebao bi se otvoriti notepad ili Microsoft Word u koje će biti ispisani brojevi koje smo unijeli u svome programu.
Program koji ispisuje niz brojeva iz datoteke:
#include<iostream>#include<fstream>using namespace std;int main(){ int niz[20],k,x; ifstream ulaz("datoteka.txt"); Naredbom ifstream deklariramo ulaz podataka, cin>>k; riječ za unos je proizvoljna, mi smo odabrali for (x=0;x<k;x++) riječ ulaz, a naziv datoteke mora biti isti { imenu datoteke iz koje unosimo niz. ulaz>>niz[x];} for (x=0;x<k;x++) { cout<<niz[x]<<endl; Pomoću ovoga ispisujemo niz na zaslon. } system("PAUSE"); return 0;}
Program koji sortira brojeve iz jedne datoteke u drugu:
#include<iostream>#include<fstream> using namespace std;int main(){ int niz[20],k,x,privremeni; ofstream izlaz("datoteka1.txt"); ifstream ulaz("datoteka.txt"); cin>>k; for (x=0;x<k;x++) { ulaz>>niz[x]; cout<<niz[x]; } for(x=0;x<k-1;x++) { if(niz[x]<niz[x+1]) { privremeni=niz[x]; niz[x]=niz[x+1]; niz[x+1]=privremeni; } } for (x=0;x<k;x++) { izlaz<<niz[x]; izlaz<<" "; cout<<niz[x]; } system("PAUSE"); return 0; }
Program koji sprema riječ u datoteku:
#include<iostream>#include<fstream> using namespace std;int main(){ string rijec; ofstream izlaz("datoteka2.txt"); cin>>rijec; izlaz<<rijec; system("PAUSE"); return 0;}