Pentru operațiile de intrare/ieșire în programele C++ se pot folosi fișiere text. Aceste fișiere text se creează automat sau manual în același folder al proiectului de tip consolă în care avem și programul propriu-zis adică fișierul main.cpp.
Biblioteca pentru fișiere text se numește fstream și se adaugă obligatoriu în antetul programului.
Funcția ofstream creează sau deschide fișierul pentru scriere.
Exemplu:
ofstream f("nume_fisier.txt"); //unde f este numele fisierului în program iar nume_fisier.txt este numele fișierului pe disc
Program: scrie numerele întregi citite de la tastatură în fișierul numere.txt pe care îl creează automat dacă nu există sau îl suprascrie dacă există.
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// Creearea sau deschiderea fișierului pentru scriere
ofstream f("numere.txt");
if (!f) {
cerr << "Eroare la deschiderea fisierului!" << endl;
return 1;
}
int n;
cout << "Introduceti cate numere doriti sa scrieti: ";
cin >> n;
cout << "Introduceti " << n << " numere intregi:" << endl;
for (int i = 0; i < n; i++) {
int numar;
cin >> numar;
// Scrie fiecare număr în fișier, separat prin spațiu
f << numar << " ";
}
f.close(); // Închide fișierul
cout << "Numerele au fost scrise in fisierul 'numere.txt'." << endl;
return 0;
}
Observație: fișierul numere.txt se creează automat în folderul cu numele programului.
Funcția ifstream deschide fișierul pentru citire din el.
Exemplu:
ifstream f("nume_fisier.txt"); //unde f este numele fisierului în program iar nume_fisier.txt este numele fișierului pe disc
Program: citește numerele întregi din fișierul numere.txt și le afișează pe ecran.
Observație: dacă fișierul numere.txt nu există în folderul programului el trebuie creeat manual de către noi și apoi trebuiesc scrise numere întregi pe prima linie a acestui fișier.
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// Deschide fișierul "numere.txt" pentru citire
ifstream g("numere.txt");
if (!g) {
cerr << "Eroare la deschiderea fisierului!" << endl;
return 1;
}
cout << "Numerele din fisier sunt:" << endl;
int numar;
while (g >> numar) { // Citește fiecare număr din fișier
cout << numar << " "; // Afișează numărul pe ecran
}
g.close(); // Închide fișierul
cout << endl;
return 0;
}
Temă1: Să se scrie un program care citește numere întregi dintr-un fișier procesează aceste numere și afișează aceste numere în alt fișier(suma lor).
Temă2: Să se scrie un program care citește numere întregi dintr-un fișier separă numerele pare de cele impare și le scrie în fișiere separate.
