Sunteți pe pagina 1din 2

Fisiere

Introducere

Asa cum stim deja, ca pe baza unor date de intrare, algoritmul (acum sub forma unui program C/C++)
realizeaza calculele necesare si trebuie sa ne ofere niste date de iesire (rezultatele asteptate sau un
mesaj lamuritor).

Date de intrare-> Program-> Date de iesire

Datele de intrare se introduc manual, de la tastatura si se afiseaza pe ecran (in consecinta, se pierd).

Folosirea fisierelor propune reutilizarea rezultatelor intre programe. Practic, datele de iesire ale unui
program (rezultatele ) pot fi date de intrare pentru alt program. Din aceasta perspectiva, modelul ar
trebui schimbat putin .

Fisier de intrare-> Program-> Fisier de iesire

Pentru a accesa fisierul de intrare sau de iesire avem nevoie de cate o variabila tip fisier. De asemenea
trebuie specificat modul de acces la fisire (pentru citire sau afisare) si faptul ca fisierul trebuie sa fie
deschis in vederea realizarii citirii/afisarii sau inchis.

OBS: Folosirea fisierelor presupune utilizarea bibliotecii FSTREAM. De aceea din codul dvs nu
trebuie sa lipseasca, in sectiunea INCLUDE , urmatoarea linie:

#include <fstream>

Declararea variabilelor fisier.

ifstream f(“date.in”);

 s-a declarat o variabila pe nume f de tip ifstream (INPUT FILE STREAM – flux de date de
intrare) si s-a asociat cu fisierul fizic date.in.
ofstream g(“date.out”);

 s-a declarat o variabila pe nume g de tip ofstream (OUTPUT FILE STREAM – flux de date
de iesire) si s-a asociat cu fisierul fizic date.out.
OBS: Fisierele de date trebuie sa se gaseasca in acelasi folder cu fisierul CPP; daca fisierul de date se
gaseste in alt folder, trebuie adaugata calea completa pana la fisier.

ifstream f(“C:\Users\Mihai\Documents\date.in”);

Operatii de intrare/iesire
Citirea din fisier

 f>>var1>>var2;
 se citesc rand pe rand valorile din fisier si se atribuie variabilelor din lista;
 se citesc in ordinea normala, ignorandu-se ideea de rand nou (ENTER), ca si cum datele ar
curge (stream = flux …de date)
Scrierea in fisier
 g<<expr1<<expr2<<endl;
 in fisier se afiseaza, in ordine, valorile expresiilor; constanta endl determina trecerea la rand
nou in fisierul de iesire

Inchiderea fisierelor
Accesul la un fisiere se finalizeaza prin inchiderea fisierelor.

 f.close();
 g.close();
Exemplu: In fisierul DATE.IN se gasesc 2 valori inttregi. Sa se afiseze suma lor in fisierul DATE.OUT.

#include <fstream>

int a,b;

ifstream f(“date.in”);

ofstream g(date.out”);

int main ()

f>>a>>b;

g<<a+b;

f.close();

g.close();

return 0;

S-ar putea să vă placă și