Strumienie wykorzystywane do obsługi plików:
Aby korzystać z obiektów do obsługi plików, należy dołączyć nagłówek
”fstream”:
#include <fstream>
Do obsługi plików używamy obiektów następujących klas:
ofstream– klasa służąca do zapisu danych do pliku;
ifstream– klasa służąca do odczyt danych z pliku;
fstream– klasa łącząca funkcjonalność powyższych klas.
PRZYKŁAD:
#include <fstream>
using namespace std;
int main()
{
ofstream oplik;
// wysyłanie danych do pliku
ifstream iplik;
// odczytywanie danych z pliku
fstream plik;
// czytanie i pisanie w pliku
return 0;
}
OTWIERANIE PLIKU
odbywa się za pomocą funkcji składowej:
nazwa_obiektu.open(nazwa_pliku, tryb)
Parametr ”nazwa_pliku” jest wartością typu ”C-string” określającą
ścieżkę dostępu do pliku.
Parametr ”tryb” jest trybem otwarcia pliku, np. do zapisu, do odczytu,
do dopisywania.
ZAMYKANIE PLIKU
odbywa się za pomocą funkcji składowej:
nazwa_obiektu.close()
PRZYKŁAD:
ofstream plik;
plik.open("plik.tmp");
plik << "Tekst" << endl;
plik.close();
Oto najważniejsze wartości parametru ”tryb”:
ios::in– otwarcie pliku do czytania;
ios::out– otwarcie pliku do pisania;
ios::app– otwórz i ustaw na końcu zawartości
ODCZYT I ZAPIS PLIKÓW W TRYBIE TEKSTOWYM
realizowany jest za pomocą operatorów przesunięcia danych:
operator ”>>”– odczyt danych z pliku;
operator ”<<”– zapis danych do pliku.
Przykłady z lekcji:
http://www.zeromskiczest.cba.pl/wp-content/uploads/2020/01/strumienie.zip
Zadania:
ZADANIE 1
Napisz program, który pobierze z klawiatury imię i nazwisko. Niech program zapisze pobrane dane w pliku tekstowym. Program ma odczytać dane z pliku i wyświetlić je z komunikatem powitalnym np. Witaj! Jan Kowalski.
ZADANIE 2
Zapisz w pliku daty imienin wybranych imion i wykonaj program, który sprawdza, kiedy są imieniny danego imienia oraz jakie imiona mają imieniny w danym dniu. Po dopisaniu do pliku nowych imion, mają być one uwzględniane w wyszukiwaniach. Policz ile imion obchodzi imieniny w danym dniu.
Rozwiązanie: imieniny
Praca domowa:
ZADANIE 3
Zapisuje w pliku nazwiska wczytywane z klawiatury do momentu wpisania pustego tekstu