Lectie despre 4.2 Proceduri și funcții predefinite pentru fișiere text în limbajul de programare C++

Introducere

În limbajul de programare C++, lucrul cu fișiere text este o operațiune comună și necesară în multe aplicații. Fișierele text sunt utilizate pentru a stoca și manipula date într-un format ușor de citit și de modificat. În această lecție, vom explora procedurile și funcțiile predefinite pentru lucrul cu fișiere text în C++. Vom învăța cum să deschidem, să citim, să scriem și să închidem fișiere text, precum și cum să utilizăm algoritmi pentru a rezolva diverse probleme.

Deschiderea și închiderea fișierelor text

Pentru a putea lucra cu un fișier text în C++, trebuie să îl deschidem înainte de a putea citi sau scrie în el. Pentru a deschide un fișier text, folosim funcția predefinită ifstream pentru citire sau ofstream pentru scriere. Aceste funcții necesită să specificăm numele fișierului și modul în care dorim să-l deschidem.

De exemplu, pentru a deschide un fișier text în modul de citire, folosim următorul cod:

#include <iostream>
#include <fstream>

int main() {
  std::ifstream fisier("nume_fisier.txt");
  if (fisier.is_open()) {
    // Codul pentru citirea fișierului
    fisier.close();
  } else {
    std::cout << "Nu s-a putut deschide fișierul." << std::endl;
  }
  return 0;
}

Pentru a deschide un fișier text în modul de scriere, folosim următorul cod:

#include <iostream>
#include <fstream>

int main() {
  std::ofstream fisier("nume_fisier.txt");
  if (fisier.is_open()) {
    // Codul pentru scrierea în fișier
    fisier.close();
  } else {
    std::cout << "Nu s-a putut deschide fișierul." << std::endl;
  }
  return 0;
}

Pentru a închide un fișier text, folosim funcția close(). Este important să închidem fișierul după ce terminăm de lucrat cu el, pentru a elibera resursele și a evita pierderea datelor.

Citirea și scrierea în fișiere text

După ce am deschis un fișier text, putem citi sau scrie în el folosind procedurile și funcțiile predefinite din limbajul C++. Pentru citirea dintr-un fișier text, folosim funcția getline(), care ne permite să citim o linie întreagă din fișier.

De exemplu, următorul cod citește și afișează conținutul unui fișier text:

#include <iostream>
#include <fstream>
#include <string>

int main() {
  std::ifstream fisier("nume_fisier.txt");
  if (fisier.is_open()) {
    std::string linie;
    while (std::getline(fisier, linie)) {
      std::cout << linie << std::endl;
    }
    fisier.close();
  } else {
    std::cout << "Nu s-a putut deschide fișierul." << std::endl;
  }
  return 0;
}

Pentru scrierea într-un fișier text, folosim operatorul de inserție (<<) sau funcția write(). Operatorul de inserție ne permite să adăugăm date în fișier într-un mod ușor de utilizat, în timp ce funcția write() ne oferă mai mult control asupra modului în care datele sunt scrise în fișier.

De exemplu, următorul cod scrie un șir de caractere într-un fișier text:

#include <iostream>
#include <fstream>

int main() {
  std::ofstream fisier("nume_fisier.txt");
  if (fisier.is_open()) {
    fisier << "Aceasta este o linie de text." << std::endl;
    fisier.close();
  } else {
    std::cout << "Nu s-a putut deschide fișierul." << std::endl;
  }
  return 0;
}

Algoritmi pentru rezolvarea problemelor cu fișiere text

Pe lângă procedurile și funcțiile predefinite pentru lucrul cu fișiere text, putem utiliza și algoritmi pentru a rezolva diverse probleme. Algoritmii ne oferă metode eficiente și robuste pentru manipularea și procesarea datelor din fișiere text.

De exemplu, putem utiliza algoritmul find() pentru a căuta un anumit șir de caractere într-un fișier text:

#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>

int main() {
  std::ifstream fisier("nume_fisier.txt");
  if (fisier.is_open()) {
    std::string linie;
    while (std::getline(fisier, linie)) {
      if (linie.find("cuvant_cheie") != std::string::npos) {
        std::cout << "Cuvantul cheie a fost gasit." << std::endl;
        break;
      }
    }
    fisier.close();
  } else {
    std::cout << "Nu s-a putut deschide fișierul." << std::endl;
  }
  return 0;
}

Acesta este doar un exemplu simplu de utilizare a algoritmilor în rezolvarea problemelor cu fișiere text. În funcție de necesitățile și cerințele aplicației noastre, putem utiliza și alți algoritmi pentru a rezolva diverse probleme.

Concluzie

În această lecție, am explorat procedurile și funcțiile predefinite pentru lucrul cu fișiere text în limbajul de programare C++. Am învățat cum să deschidem, să citim, să scriem și să închidem fișiere text, precum și cum să utilizăm algoritmi pentru a rezolva diverse probleme. Lucrul cu fișiere text este o abilitate esențială în dezvoltarea aplicațiilor în C++ și aceste cunoștințe ne vor fi de folos în viitoarele proiecte.

Sper că această lecție v-a fost utilă și v-a ajutat să înțelegeți mai bine modul de operare cu fișiere text în limbajul de programare C++. Vă încurajez să exersați și să experimentați cu diverse funcții și algoritmi pentru a vă îmbunătăți abilitățile în programare.