Lekcja 9
Strumienie i operacje wejścia/wyjścia
Strumienie - czym są i jakie są ich rodzaje
Strumienie można sobie wyobrazić jako dane płynące od źródła do celu. Zarówno cele, jak i źródła strumienia mogą być różne - może to być ekran, klawiatura, plik lub jakieś inne zewnętrzne urządzenie.
W języku C++ wyróżniamy trzy typy strumieni: strumienie wejściowe (wczytują dane), strumienie wyjściowe (wypisują dane) oraz strumienie uniwersalne, umożliwiające zarówno wczytywanie, jak i wypisywanie danych.
Strumieniami posługujemy się wówczas, gdy chcemy przeprowadzić jakiekolwiek operacje wejścia/wyjścia. W przedstawionych programach takie operacje przeprowadzaliśmy wielokrotnie - wiele razy pobieraliśmy dane z klawiatury i wiele razy wypisywaliśmy dane na ekran. W tym celu posługiwaliśmy się właśnie strumieniami.
Musisz sobie zdawać sprawę, że strumienie w języku C++ są ogromnym ułatwieniem. Nie raz wypisywaliśmy już zmienne na ekran i zmienna została wypisywana zawsze poprawnie. Tak naprawdę wszystkie dane, które strumień wypisuje na ekran muszą zostać sformatowane . Jeśli wypisujemy liczbę float, to liczba zostaje wypisana jako liczba float. Taka sama sytuacja jest przy pobieraniu danych.
Jeśli wydaje Ci się to czymś oczywistym, to musisz wiedzieć, że wypisywanie i pobieranie danych w języku C, czyli poprzedniku języka C++ nie było wcale takie łatwe. Tam musieliśmy za każdym razem określić, w jaki sposób ma zostać wypisana dana zmienna - czy mamy wypisać zmienną jako liczbę całkowitą, znak czy może napis. Sprawiało to, że to programista musiał dbać o to, czy dane zostaną wypisane poprawnie - w języku C++ na szczęście przy zwykłym wypisywaniu nie musimy się tym martwić.
Dla przykładu, aby wypisać liczbę typu float, w C++ piszemy:
cout << zmienna;
Z kolei w języku C musieliśmy dołączyć bibliotekę stdio.h i zrobić to w następujący sposób:
printf("%f",zmienna);