Rad s datotekama

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 biblioteku
using 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;
}

Sljedeći tutorijal.