Odczyt danych z pliku C++
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.
Spis treści
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.