Documente Academic
Documente Profesional
Documente Cultură
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 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 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
Clasa a IX-a A,E
3
Clasa a IX-a A,E
nume_fiier_logic>>data_de_intrare;
Exemplu:
#include <iostream>
#include <fstream>
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>
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;}