Tipuri Structurate de Date în C++. Fișiere Text
Definire
Un fișier text este o colecție de date stocate pe disc sub formă de text, care poate fi citită și procesată de programele C++. Fișierele text sunt utilizate pentru salvarea datelor persistente și pentru schimbul de informații între aplicații.
În C++, lucrul cu fișiere text se face prin biblioteci incluse în #include <fstream>, care oferă clasele principale:
ofstream- Pentru scriere în fișiere.ifstream- Pentru citirea din fișiere.fstream- Pentru citire și scriere.
Operații specifice
1. Crearea și scrierea într-un fișier text
Pașii pentru scrierea într-un fișier text:
- Includeți biblioteca
<fstream>. - Declarați un obiect de tip
ofstream. - Deschideți fișierul cu metoda
open()sau folosind constructorul. - Utilizați operatorul
<<pentru a scrie în fișier. - Închideți fișierul cu metoda
close().
Exemplu de cod:
#include <fstream>
#include <iostream>
int main() {
std::ofstream outFile("exemplu.txt"); // Creează și deschide fișierul
if (outFile.is_open()) {
outFile << "Salut, lume!\n"; // Scrie în fișier
outFile << "Aceasta este o linie de text.\n";
outFile.close(); // Închide fișierul
std::cout << "Datele au fost scrise în fișier.\n";
} else {
std::cerr << "Eroare la deschiderea fișierului.\n";
}
return 0;
}
2. Citirea dintr-un fișier text
Pașii pentru citirea dintr-un fișier text:
- Includeți biblioteca
<fstream>. - Declarați un obiect de tip
ifstream. - Deschideți fișierul cu metoda
open()sau folosind constructorul. - Utilizați operatorul
>>sau funcțiagetline()pentru a citi din fișier. - Închideți fișierul cu metoda
close().
Exemplu de cod:
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ifstream inFile("exemplu.txt"); // Deschide fișierul pentru citire
if (inFile.is_open()) {
std::string linie;
while (getline(inFile, linie)) { // Citește linie cu linie
std::cout << linie << "\n";
}
inFile.close(); // Închide fișierul
} else {
std::cerr << "Eroare la deschiderea fișierului.\n";
}
return 0;
}
3. Adăugarea de date la un fișier existent
Pentru a adăuga date la un fișier existent, folosiți std::ofstream cu flag-ul std::ios::app:
#include <fstream>
#include <iostream>
int main() {
std::ofstream outFile("exemplu.txt", std::ios::app); // Deschide fișierul în mod append
if (outFile.is_open()) {
outFile << "Aceasta este o linie adăugată.\n";
outFile.close();
std::cout << "Datele au fost adăugate la fișier.\n";
} else {
std::cerr << "Eroare la deschiderea fișierului.\n";
}
return 0;
}