Odczyt danych z pliku C++

kategoria: Zadania z programowania

Odczytywanie plików w C++ jest jedną z podstawowych operacji jakie musisz umieć, przed przystąpieniem do matury z informatyki. Pliki można odczytywać w trybie binarnym lub tekstowym. Można wczytywać liniami oraz blokami za pomocą wskaźników ustawianych w pliku. Na maturze przyda się jedynie odczytywanie pliku w trybie tekstowym, najlepiej pojedynczymi liniami.

Odczytywanie danych z pliku C++

Program otwiera podany przez nas plik i sprawdza czy nie wystąpiły błędy. Jeżeli wszystko jest w porządku, rozpoczyna się wczytywanie danych za pomocą funkcji getline. Funkcja wywołana jest w pętli wykonującej się póki plik nie osiągnie końca (eof).

Kod w C++

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

using namespace std;

int main()
{
    string linia;
    fstream plik;

    plik.open("plik.txt", ios::in);
    if(plik.good() == true)
    {
        while(!plik.eof())
        {
            getline(plik, linia);
            cout << linia << endl; //wyświetlenie linii
        }
        plik.close();
    }

    system("PAUSE");
    return(0);
}

Otwarliśmy plik używając nagłówka biblioteki fstream oraz wykorzystując zmienną fstream. Ponieważ tylko wczytujemy tekst z pliku moglibyśmy użyć biblioteki ifstream. Nazwy pochodzą od języka angielskiego:

  • ifstream = (ang. in file stream) wczytywanie plików
  • ofstream = (ang. out file stream) zapisywania plików
  • fstream = połączenie obu powyższych

Na maturze bardzo wygodnie wczytywać plik w podany przeze mnie sposób. W pętli dostajemy pojedyncze linijki, na których możemy wykonywać różne operacje. Gdyby to były liczby, można zamieniać je na binarne lub dziesiętne, ze słów można od razu robić palindromy i anagramy.