InformaticăliceuClasa 9ușor
Citirea și Scrierea în Fișiere - C++
Cum să citești și să scrii în fișiere text în C++: ifstream, ofstream, exemple practice pentru BAC.
circa 1 lună în urmă
0 vizualizări
25 minute
Citirea și Scrierea în Fișiere - C++
De ce Fișiere?
La BAC, multe probleme cer citire din fișier și scriere în fișier.
Biblioteca <fstream>
1#include <fstream> 2using namespace std; 3 4ifstream fin("date.in"); // Citire 5ofstream fout("date.out"); // Scriere
Citire din Fișier
Citire numere
1ifstream fin("numere.txt"); 2 3int n, x; 4fin >> n; // Citește n 5 6for (int i = 0; i < n; i++) { 7 fin >> x; // Citește fiecare număr 8 // procesare 9} 10 11fin.close();
Citire vector
1ifstream fin("vector.txt"); 2int v[100], n; 3 4fin >> n; 5for (int i = 0; i < n; i++) { 6 fin >> v[i]; 7} 8fin.close();
Citire matrice
1ifstream fin("matrice.txt"); 2int a[100][100], n, m; 3 4fin >> n >> m; 5for (int i = 0; i < n; i++) { 6 for (int j = 0; j < m; j++) { 7 fin >> a[i][j]; 8 } 9} 10fin.close();
Citire șir de caractere
1ifstream fin("text.txt"); 2string linie; 3 4// Citește o linie întreagă 5getline(fin, linie); 6 7// Citește tot fișierul linie cu linie 8while (getline(fin, linie)) { 9 cout << linie << endl; 10} 11fin.close();
Scriere în Fișier
1ofstream fout("rezultat.txt"); 2 3fout << "Rezultatul este: " << 42 << endl; 4 5// Scriere vector 6for (int i = 0; i < n; i++) { 7 fout << v[i] << " "; 8} 9fout << endl; 10 11fout.close();
Exemplu Complet BAC
Problemă: Citește n numere din "bac.in" și scrie suma lor în "bac.out".
1#include <fstream> 2using namespace std; 3 4ifstream fin("bac.in"); 5ofstream fout("bac.out"); 6 7int main() { 8 int n, x, suma = 0; 9 10 fin >> n; 11 for (int i = 0; i < n; i++) { 12 fin >> x; 13 suma += x; 14 } 15 16 fout << suma; 17 18 fin.close(); 19 fout.close(); 20 21 return 0; 22}
Verificare Deschidere Fișier
1ifstream fin("date.txt"); 2if (!fin.is_open()) { 3 cout << "Eroare la deschiderea fisierului!" << endl; 4 return 1; 5}
Sfaturi BAC
- •Verifică numele fișierelor - exact cum sunt în cerință
- •Nu uita fin.close() și fout.close()
- •Testează local înainte de predare
- •Atenție la spații între numere la output
Exerciții
- •Citește o matrice din fișier și afișează suma elementelor
- •Copiază conținutul unui fișier în altul
- •Numără câte linii are un fișier text
Găsește un profesor de informatică pentru pregătire BAC intensivă!
Tutorialul te-a ajutat?
Dacă ai nevoie de ajutor personalizat, găsește un profesor calificat pentru meditații
