Tipuri Structurate de Date în C++ - Fișiere Text

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:

  1. Includeți biblioteca <fstream>.
  2. Declarați un obiect de tip ofstream.
  3. Deschideți fișierul cu metoda open() sau folosind constructorul.
  4. Utilizați operatorul << pentru a scrie în fișier.
  5. Î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:

  1. Includeți biblioteca <fstream>.
  2. Declarați un obiect de tip ifstream.
  3. Deschideți fișierul cu metoda open() sau folosind constructorul.
  4. Utilizați operatorul >> sau funcția getline() pentru a citi din fișier.
  5. Î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;
}
        

Fișierele text sunt utile pentru stocarea datelor persistente și permit procesarea ușoară a acestora în C++. Este important să deschideți și să închideți fișierele corect pentru a evita erorile.