MeditatiiDirect.ro Logo
MeditatiiDirect.ro
Educație la un click distanță
MeditatiiMateriiAdmitereTutorialePregatire BACSubiecte BACVariante BACBlog
InformaticăliceuClasa 9usor

Fișiere în C++ - Citire și Scriere

Lucrul cu fișiere text și binare: ifstream, ofstream, fstream și operații avansate.

3 luni în urmă
0 vizualizări
20 minute

Fișiere în C++

Tipuri de Stream-uri

  • •ifstream - citire din fișier (input)
  • •ofstream - scriere în fișier (output)
  • •fstream - citire și scriere

Citire din Fișier

1#include <iostream>
2#include <fstream>
3#include <string>
4using namespace std;
5
6int main() {
7    ifstream fin("date.in");
8    
9    if (!fin.is_open()) {
10        cout << "Eroare la deschiderea fișierului!" << endl;
11        return 1;
12    }
13    
14    // Citire număr
15    int n;
16    fin >> n;
17    
18    // Citire vector
19    int arr[100];
20    for (int i = 0; i < n; i++) {
21        fin >> arr[i];
22    }
23    
24    // Citire linie completă
25    string linie;
26    getline(fin, linie);
27    
28    // Citire până la EOF
29    while (fin >> n) {
30        cout << n << " ";
31    }
32    
33    fin.close();
34    return 0;
35}

Scriere în Fișier

1#include <fstream>
2using namespace std;
3
4int main() {
5    ofstream fout("date.out");
6    
7    // Scriere simplă
8    fout << "Hello World!" << endl;
9    
10    // Scriere formatată
11    int arr[] = {1, 2, 3, 4, 5};
12    for (int x : arr) {
13        fout << x << " ";
14    }
15    fout << endl;
16    
17    fout.close();
18    return 0;
19}

Moduri de Deschidere

1// Mod implicit pentru ofstream - suprascrie
2ofstream fout("fisier.txt");
3
4// Append - adaugă la final
5ofstream fout("fisier.txt", ios::app);
6
7// Mod binar
8fstream f("date.bin", ios::binary | ios::in | ios::out);
9
10// Combinații
11fstream f("fisier.txt", ios::in | ios::out | ios::trunc);

Fișiere Binare

1#include <fstream>
2using namespace std;
3
4struct Student {
5    char nume[50];
6    int varsta;
7    double medie;
8};
9
10// Scriere binară
11void scrieBinar(const Student& s) {
12    ofstream fout("studenti.bin", ios::binary | ios::app);
13    fout.write(reinterpret_cast<const char*>(&s), sizeof(Student));
14    fout.close();
15}
16
17// Citire binară
18Student citesteBinar(int index) {
19    Student s;
20    ifstream fin("studenti.bin", ios::binary);
21    fin.seekg(index * sizeof(Student)); // Poziționare
22    fin.read(reinterpret_cast<char*>(&s), sizeof(Student));
23    fin.close();
24    return s;
25}

Verificare Erori

1ifstream fin("date.in");
2
3if (!fin) {
4    cerr << "Eroare la deschidere" << endl;
5}
6
7if (fin.eof()) {
8    cout << "S-a ajuns la sfârșitul fișierului" << endl;
9}
10
11if (fin.fail()) {
12    cout << "Operație eșuată" << endl;
13}

Exemplu Complet: Copiere Fișier

1#include <fstream>
2using namespace std;
3
4bool copiereFisier(const string& sursa, const string& destinatie) {
5    ifstream fin(sursa, ios::binary);
6    ofstream fout(destinatie, ios::binary);
7    
8    if (!fin || !fout) return false;
9    
10    fout << fin.rdbuf();
11    
12    return true;
13}

Tutorialul te-a ajutat?

Dacă ai nevoie de ajutor personalizat, găsește un profesor calificat pentru meditații

MeditatiiDirect.ro Logo
MeditatiiDirect.ro

Platforma educationala din Romania pentru meditatii particulare. Profesori verificati, recenzii reale, inscriere gratuita.

Cauta sau publica anunturi gratuit pentru toate materiile scolare.

Meditatii

  • Meditatii
  • Meditatii Matematica
  • Meditatii Informatica
  • Meditatii Romana
  • Meditatii Engleza
  • Anunturi Meditatii
  • Meditatii Online
  • Ore Online
  • Meditatii BAC
  • Meditatii Bucuresti
  • Meditatii Cluj-Napoca
  • Meditatii Timisoara
  • Meditatii Iasi
  • Meditatii Fizica
  • Meditatii Chimie
  • Meditatii Biologie

Materii Populare

  • Matematică
  • Limba Română
  • Limba Engleză
  • Informatică
  • Fizică
  • Toate Materiile →

Platforma

  • Cum functioneaza
  • Pentru elevi si parinti
  • Pentru profesori
  • Intrebari frecvente
  • Despre noi
  • Publica anunt gratuit

Resurse

  • Profesor Particular
  • Pregatire BAC
  • Admitere Facultate
  • Universitati Romania
  • Facultati Medicina
  • Facultati Informatica
  • Facultati Politehnica
  • Facultati Drept
  • Facultati Economice
  • Facultati Psihologie
  • Grile UPB
  • Grile Medicina
  • Grile Auto 2026
  • Variante BAC 2026
  • Simulare BAC 2026
  • Subiecte BAC
  • Subiecte Admitere
  • Titularizare 2025
  • Tutoriale
  • Blog educational
  • Ore Online
  • Profesori Online
  • Contact

MeditatiiDirect.ro este o platforma educationala din Romania unde gasesti meditatii si profesori particulari verificati pentru matematica, limba romana, engleza, informatica, fizica, chimie si alte materii. Disponibil in Bucuresti, Cluj-Napoca, Timisoara, Iasi si toata Romania, inclusiv meditatii online. Publica sau gaseste anunturi meditatii gratuit, programeaza ore online cu profesori verificati, cauta un profesor particular sau incepe meditatii BAC si admiterea la facultate.

© 2026 MeditatiiDirect. Toate drepturile rezervate.