Режим на работа кај датотеките
класа |
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;
} |