Obsługa plików w C++ – zapis danych

Obsługa plików przez programy komputerowe daje bardzo dużo możliwości. To właśnie w plikach możemy między innymi zapisać potrzebne dane wprowadzone przez użytkownika na przykład jakieś ustawienia lub inne informacje, których wprowadzanie co chwilę utrudniało by lub całkowicie umożliwiało sprawną obsługę dane aplikacji. Przyjrzyjmy się więc technikom zapisu danych do plików w języku C++.

Na początku musimy oczywiście dołączyć odpowiednią bibliotekę  (fstream):

Teraz możemy zabrać się za pisanie kodu odpowiedzialnego za zapis naszych danych.

Utwórzmy więc obiekt typu fstream na bazie którego będziemy wykonywać dalsze operacje:

Teraz możemy na przykład otworzyć plik do którego chcemy coś zapisać. Wykonuje się to tak:

Metoda open obiektu fstream zaprezentowana wyżej przyjmuje dwa argumenty, nazwę pliku wraz z rozszerzeniem oraz informację o trybie w jakim dany plik chcemy otworzyć. Przy trybie otwarcia pliku w zależności od potrzeb możemy zastosować kilka poleceń (razem oddzielonych znakiem | lub osobno jak w przykładzie wyżej):

ios::app Otwiera plik tylko do zapisu, ustawia wskaźnik na jego końcu i tam zapisuje dane.
ios::ate Ustawianie wskaźnika na koniec pliku.
ios::binary Otwarcie pliku w trybie binarnym, tzn. dane traktowane są jak binarne, a nie tekstowe.
ios::in Otwarcie pliku w trybie do odczytu.
ios::out Otwarcie pliku w trybie do zapisu.
ios::trunc Podczas otwierania plik jest czyszczony (tzn. usuwana jest jego zawartość).

Po otwarciu pliku przyszła pora na zapisanie do niego jakiś danych. Przyjrzyjmy się więc pierwszej metodzie, która to umożliwia.

Zapis danych za pomocą strumienia

Zapisywanie danych za pomocą strumienia jest naprawdę banalne. Wszystko działa tak samo jak przy wypisywaniu informacji na ekranie tyle, że zamiast okna konsoli mamy tutaj plik:

Zapis danych za pomocą metody write

Kolejną możliwością zapisania danych jest użycie metody write obiektu fstream. Odbywa się to w następujący sposób:

Oczywiście dostępu do pliku nie uzyskamy kiedy taki plik na przykład nie istnieje lub nie mamy praw zapisu.

Zamykanie pliku

Na koniec pozostało nam zamknięcie pliku, co robi się tak:

W pełni działający program:

 Fot: toolmantim, Flickr | CC.

, , , ,