You are on page 1of 5

Clasa a IX-a A,E

XIV. Fiiere

1. Prezentare general
Probabil v-ai gndit ct de simplu ar fi dac, la fiecare execuie a programului, n-ar mai trebui
introduse iar i iar datele de intrare!
Pn acum ai citit datele de intrare de la dispozitivul standard numit tastatur. n lecia de azi
vom nva cum s citim datele dintr-un fiier text. De asemenea, n locul afirii pe ecranul
calculatorului, vom nva cum s afim rezultatele ntr-un fiier.
Un fisier este o colectie de date indicata printr-un nume si o extensie. Numele este despartit de
extensie prin punct. Avantajul lucrului cu fisiere este evident, datele rezultate in urma executiei unui
program putand fi salvate.
In esenta, exista doua tipuri de fisiere: fisiere text si fisiere binare. Un fisier text conine text (cifre si
caractere), iar un fisier binar poate contine si imagini, baze de date, etc. Vom studia lucru cu fisere
text.
Declararea, nchiderea i deschiderea fiierelor n C++ utilizeaz anumite clase i funcii care
sunt declarate n fiierul antet fstream. acesta va fi inclus cu instruciunea pentru preprocesor:

#include <iostream>
#include <fstream>

Pentru a putea citi/scrie informaii dintr-un/ntr-un fiier, acesta se asociaz unui stream (flux) de
intrare/ieire.
Declararea fiierelor de intrare (fiiere din care putem citi date):

ifstream nume_fiier_logic (nume_fiier_fizic);


Exemplu:
#include <iostream>
#include <fstream>

using namespace std;

ifstream f(numere.in);
Prin aceast declaraie fiierul va fi deschis pentru citire. Se va face asocierea ntre numele logic al
fiierului f i numele fizic al acestuia numere.in. n program vom utiliza numele logic al fiierului.
Declararea fiierelor de ieire (fiiere n care putem scrie date date):

1
Clasa a IX-a A,E

ofstream nume_fiier_logic (nume_fiier_fizic);


Exemplu:
#include <iostream>
#include <fstream>

using namespace std;

ofstream f(numere.out);
Prin aceast declaraie fiierul va fi deschis pentru citire. Se va face asocierea ntre numele logic al
fiierului g i numele fizic al acestuia numere.out. n program vom utiliza numele logic al fiierului.

2. Crearea fiierelor i adugarea lor n cadrul proiectului


Pentru a putea citi date dintr-un fiier text acesta va trebui creat, iar date care trebuiesc citite vor
fi introduse n fiier. Pentru a crea fiierul vom proceda astfel:
- vom crea un nou proiect i declarm fiierul de intrare.

- din meniul File selectm New i apoi Empty File;

2
Clasa a IX-a A,E

- adugm fiierul la proiectul existent (apsm butonul YES)

- introducem numele noului fiier i apsm butonul Save.

- verificm ca opiunile Debug i Release s fie selectate i apsm butonul OK

- introducem datele de intrare n fiier.

3
Clasa a IX-a A,E

3. Citirea datelor din fiier


Pentru a realiza operaii de citire dintr-un fiier de intrare, se poate utiliza operatorul de citire >>.
Forma general este:

nume_fiier_logic>>data_de_intrare;
Exemplu:

#include <iostream>
#include <fstream>

using namespace std;

ifstream f(numere.in);
int n;

int main()
{
f>>n; //citim din fisier o valoare pentru n
return 0;
}
4. Scrierea datelor n fiier
Operaiile de scriere se realizeaz cu operatorul de scriere <<. Pentru a scrie date n fiier fiierul de
ieire nu trebuie creat acesta va fi creat automat de compilator. Forma general este:

4
Clasa a IX-a A,E

nume_fiier_logic<<data_de_iesire;
Exemplu:

#include <iostream>
#include <fstream>

using namespace std;

ofstream g(numere.out);
int n;

int main()
{

g<<n; //scriem valoarea lui n in
fisier return 0;
}
4. Problem rezolvat
Din fiierul suma.in se citesc dou numere naturale a i b. S se scrie un program care citete
cele dou numere din fiier i afieaz n fiierul suma.out suma celor 2 numere.

#include <iostream>
#include <fstream>
using namespace std;
ifstream f(suma.in);
ofstream g(suma.out);
int a,b,s;

int main()
{
f>>a>>b; //citim datele de
intrare s=a+b;//calculam suma
g<<s; //scriem valoarea in fisier
return 0;}