Режим на работа кај датотеките

 

класа default режим на работа
ofstream ios::out
ifstream ios::in
fstream ios::in | ios::out

Пример за читање од ДАТОТЕКА ред по ред

Откога ќе прочитаме од датотеката ред и го сместиме во променлива од типот string може врз таа
променилива да примениме се што сме применувале за низите, поточно таа променлива од типот

string
има третман на низа од карактери.

#include<iostream>
#include<cstdlib>
#include<string>
#include<fstream>
 

using namespace std;
int main()
    {
    int i,n,br=0,n1=0,j;
    string str;
    fstream pod;                         //ако е fstream мора во отворањето да се нагласи дека се отвора за читање со ios::in
    pod.open("podatoci.dat",ios::in); // ako e ifstream не мора да се наведе ios::in зошто се подразбира
    if (!pod)                                   // ако датотеката со логичко име pod не постои
        cout<<"datotekata ne postoi!";
    else
    {
        while (!pod.eof())                // додека не стаса до крај на датотеката
        {
            br=0;
            getline(pod,str);               //зема линија по линија од датотеката и сместува во string променлива str
            cout<<"Vo tekstot "<<endl;
            j=1;
            while (str[j]!='\0')            // додека не стаса до крај на редот ги брои буквите во тој ред
                j++;                              // што е исто како фунцијата во редот што следи n=str.length; 
            n=str.length();                  // str.length е должина на редот
            cout<<str<<"\n"<<" ima vkupno "<<j<<" bukvi \n";
            cout<<" bukvi a ima ";
            for (i=0;i<n;i++)             //поминува низ истиот ред и брои колку букви а има
                if (str[i]=='a')             // стрингот може да се третира и како низа од карактери
                    br++;
                cout<<br<<"\n";
    }
}
pod.close();
system("PAUSE");
return 0;
}

Пример за читање од ДАТОТЕКА карактер по карактер

#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
int main() {
    char x;
    ifstream inFile("datoteka.dat");
    if (!inFile)
    {
        cout << "Datotekata ne postoi !";
    }
    else
    {
        while (x != '\n')             // dodeka ne stasa do kraj na red (\n e kraj na red)
        {
        
        // while (inFile >> x)         //zema karakter po karakter dodeka ne stasa do kraj na datoteka
                                                   // ne gi zema vo predvid praznite mesta i enter
        while (dat.get(x))               //zema karakter po karakter dodeka ne stasa do kraj na datoteka
                                                   // gi zema vo predvid praznite mesta i enter
        {
            cout<<"Karakterot e x = "<<x<<endl;        //moze so karakterite da pravime sto sakame da gi broime, menuvame          }
    }
    inFile.close();
}
system("PAUSE");
return 0;
}