Przejdź do treści

Obsługa plików - strumienie

Biblioteka

Do obsługi plików za pomocą strumieni potrzebujemy biblioteki fstream (file stream). Ponieważ biblioteka ta znajduje się w przestrzeni nazw std, dla ułatwienia można także dodać tę przestrzeń.

#include <fstream>
using namespace std;

Wyjście

Otwarcie pliku

W celu otwarcia pliku do zapisu tworzymy zmienną typu ofstream (output file stream). Następnie w nawiasach po nazwie zmiennej podajemy ścieżkę do pliku, który chcemy otworzyć, a po przecinku dodatkowe opcje. Jeżeli docelowy plik nie istnieje, to zostanie on utworzony.

Otwarcie w trybie nadpisania

Domyślnie, gdy otwieramy plik do zapisu, to jego zawartość zostanie zastąpiona nową zawartością. To tak, jakbyśmy usunęli plik i utworzyli nowy.

ofstream outfile("out.txt");

Otwarcie w trybie dopisywania

Jeżeli chcemy dopisywać dane do pliku, a nie je zastąpić, należy podać odpowiednią opcję przy tworzeniu strumienia do pliku: fstream::app.

ofstream outfile("out.txt", fstream::app);

Pisanie do pliku

W przypadku zapisywania danych do pliku postępujemy podobnie jak podczas korzystania ze strumienia cout. Różnica jest taka, że zamiast używać cout, podajemy nazwę utworzonego strumienia typu ofstream.

outfile << "Hello World!";

W podobny sposób możemy wypisać wartości zmiennych:

int a = 10;
outfile << a;

Zamknięcie pliku

Po wykonaniu potrzebnych operacji na pliku należy strumień do niego zamknąć metodą close. Jeżeli nie zamkniemy strumienia do pliku to dane mogą nie zostać poprawnie zapisane, a sam plik może zostać uszkodzony.

outfile.close();