Documente Academic
Documente Profesional
Documente Cultură
Uneori, anumite probleme impun citirea datelor de intrare dintr-un fisier in loc de a fi citite de la
tastatura, respectiv scrierea intr-un fisier in locul afisarii rezultatelor direct pe ecran. Spre deosebire
de cazul in care datele rezultate dintr-un program sunt afisate pe ecran, redirectionarea acestora
catre un fisier aduce avantajul ca aceste rezultate pot fi salvate si stocate in vederea unor consultari
ulterioare.
Pentru a putea accesa lucrul cu fisiere intr-un program este nevoie sa avem declarata directiva
fstream: :
#include <fstream>
1. Deschiderea fisierelor
Pentru a putea opera intr-un fisier, acesta trebuie deschis. Deschiderea unui fisier se face astfel:
ifstream <alias_fisier>("<nume_fisier>");
sau
fstream <alias_fisier>("<nume_fisier>",ios::in);
unde:
alias_fisier - reprezinta numele cu care este recunoscut fisierul in cadrul programului
nume_fisier - reprezinta numele fizic al fisierului pe disc
ifstream - reprezinta streamul de intrare
fstream - reprezinta streamul general - poate fi utilizat atat pentru citirea cat si pentru
scrierea din/in fisier
Exemplu:
ifstream f>("test.txt");
fstream f>("test.txt",ios::in);
ofstream <alias_fisier>("<nume_fisier>");
sau
fstream <alias_fisier>("<nume_fisier>",ios::out);
unde:
alias_fisier - reprezinta numele cu care este recunoscut fisierul in cadrul programului
nume_fisier - reprezinta numele fizic al fisierului pe disc
ifstream - reprezinta streamul de intrare
fstream - reprezinta streamul general - poate fi utilizat atat pentru citirea cat si pentru
scrierea din/in fisier
Exemplu:
ofstream f>("testare.txt");
fstream f>("test.txt",ios::out);
2. Inchiderea fisierelor
Dupa terminarea operatiilor de intrare/iesire cu fisierele utilizare, acestea trebuiesc inchise, inainte
de iesirea din program. Acest lucru se realizeaza astfel:
<alias_fisier>.close();
unde:
alias_fisier - reprezinta numele cu care este recunoscut fisierul in cadrul programului
close - functia cu care se inchide fisierul
Exemplu:
f.close();
Exemplu:
f>>a;
f>>a[i];
Exemplu:
f<<a;
f<<a[i];
Fisiere text – o structura de date prin intermediul careia este organizata informatia pe harddisk.
Un fisier de text este o colectie de linii de text terminate printr-un caracter special EOL (End of Line
– sau sfârșit de linie). Sfârșitul fișierului este specificat în fișierul text prin alt caracter special
denumit EOF.
1. Exemplu citire:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fisier.in");
int main(){
int a;
fin >> a;// citirea numarului a din fisierul fisier.in
cout << "Ai citit a = " << a;
return 0;
}
Observatie:
Pentru separarea valorilor dintr-un fișier se utilizeaza spatiul sau linia noua.
Valorile preluate dintr-un fișier text pot fi orice tip de date cunoscute de noi: numere,
caractere, siruri de caractere, s.a.m.d.
2. Exemplu afisare:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fisier.in");
ofstream fout("fisier.out");
int main(){
int a, b;
fin >> a >> b;
fout << a << " + " << b << " = " << a + b;
return 0;
}
Notă:
În fișier s-a scris pe rând valoarea din variabila a, apoi șirul de caractere ” + „ valoarea din b,
alt șir de caractere ” = ” și finalul este suma celor doua variabile.
Observație:
Trebuie să aveți grijă că fișierele voastre (respectiv „fisier.in” și „fisier.out”) să se afle în
același folder cu fișierul vostru principal .cpp.