^W górę
Biblioteka IOSTREAM
Biblioteka“iostream” umożliwia wykonywanie operacji na standardowych strumieniach wejścia/wyjścia. Poniżej znajduje się lista dostępnych strumieni:
Aby skorzystać z biblioteki należy ją dołączyć do naszego programu:
#include <iostream >
Od tej pory możemy skorzystać z możliwości standardowych strumieni wejścia/wyjścia:
std::cin, std::cout, std::cerr, std::clog.
Jeśli nie chcemy wpisywać za każdym razem“std::nazwa_strumienia”, możemy wpisać dodatkową informację dla kompilatora:
using namespace std;
od tego momentu możemy wpisywać:“cin”,“cout”, zamiast“std::cin”,“std::cout”.
Obiekt cin umożliwia odczyt ze standardowego wejścia:
int a;
cin >>a;
Powyższy kod umożliwia wczytanie liczby całkowitej ze standardowego strumienia do zmiennej“a”. Kierunek przesyłania informacji określają znaki“>>”.
Obiekt cout umożliwia wysłanie informacji do standardowego strumienia.
int a=1;
cout << “Wartość zmiennej a=” << a;
cout <<“ ”;
Powyższy kod spowoduje wysłanie do standardowego strumienia tekstu“Wartość zmiennej a=”, następnie do strumienia zostanie wysłana liczba jeden, a w ostatniej linii do strumienia zostanie przekazany kod sterujący wyświetlaniem danych powodujący przejście do następnej linii. Za pomocą przekierowania“<<” można w jednej linii przekazać do strumienia kilka informacji. Dzięki temu w prosty sposób możemy łączyć tekst statyczny z wartościami zmiennych w programie.
Formatowanie strumienia wyjściowego
Wyświetlając wyniki obliczeń często zachodzi konieczność sformatowania wyprowadzanych danych. Jedną z możliwości jest ustawienie precyzji wyświetlania danych:
cout.precision(2);
Powyższe polecenie spowoduje ograniczenie wyświetlania liczb do 2 znaków. Przykładowo liczba 43.25 zostanie obcięta do 43.
cout.precision(2);
cout.setf(ios::fixed);
Powyższe polecenie spowoduje ustawienie wyświetlania liczb rzeczywistych z dokładnością do dwóch miejsc po przecinku.
Biblioteka FSTREAM
Biblioteka fstream umożliwia wykonywanie operacji wejścia/wyjścia na plikach. Otrzymujemy narzędzia do odczytu, zapisu, przemieszczania się wewnątrz struktury pliku. Poniższy przykładowy program kopiuje zawartość pliku tekstowego o nazwie plik_zrodlowy.txt do pliku o nazwie plik_docelowy.txt.
#include <fstream> using namespace std; int main () { char * buffer; long size; ifstream infile ("plik_zrodlowy.txt",ifstream::binary); //deklaracja strumienia wejściowego i przypisanie go do “plik_zrodlowy.txt” ofstream outfile ("plik_docelowy.txt",ofstream::binary); //deklaracja strumienia wyjściowego i przypisanie go do “plik_docelowy.txt” infile.seekg(0,ifstream::end); //Pobieranie informacji o długości pliku size=infile.tellg(); infile.seekg(0); buffer = new char [size]; //allokacja pamięci na bufor danych infile.read (buffer,size); //odczyt zawartości całego pliku outfile.write (buffer,size); //zapis do pliku docelowego delete[] buffer; //zwolnienie pamięci bufora outfile.close(); infile.close(); return 0; }