Uniwersytet Zielonogórski
Instytut Sterowania i Systemów Informatycznych
Programowanie obiektowe w C++
Lista 7 Formatowanie strumieni
1 wiczenia
1. Dana jest nast¦puj¡ca denicja klasy:
class X { int a[2]; };
Przeªadowa¢ operatory <<, >> aby mo»liwe si¦ staªo wczytywanie i wysyªanie do standardowego strumienia
obiektów klasy X.
2. Napisa¢ manipulatory dla klasy iostream:
(a) bezargumentowy maj¡cy za zadanie dorzucenie przed wy±wietlan¡ zmienn¡ napisu zmienna :,
(b) jednoargumentowy lin(n), który ma za zadanie przej±¢ n razy do nowej linii.
3. Otworzy¢ strumie« wej±ciowy dla pliku i przepisa¢ go do strumienia wyj±ciowego skojarzonego z innym plikiem.
4. Dla przykªadowych strumieni:
ifstream in; ofstream out;
(a) powi¡za¢ strumie« wej±ciowy z wyj±ciowym, tak aby ka»da zmiana w strumieniu wej±ciowym odzwiercie-
dlona byªa w strumieniu wyj±ciowym,
(b) zlikwidowa¢ wi¡zanie pomi¦dzy standardowymi strumieniami wej±ciowym i wyj±ciowym,
(c) przemianowa¢ standardowe strumienie wej±cia i wyj±cia tak, aby dane z cin pªyn¦ªy do out, a dane z in
pªyn¦ªy do cout.
5. Otworzy¢ plik poprzez utworzenie obiektu typu ifstream o nazwie in. Nast¦pnie utworzy¢ obiekt os typu ostr-
stream i przekopiowa¢ do niego caª¡ zawarto±¢ otwartego pliku (u»y¢ metod¦ rdbuf). Zamieni¢ wszystkie litery
w os na du»e i zachowa¢ wynik w nowym pliku, po czym zwolni¢ pami¦¢ zaj¦t¡ przez ten strumie«.
6. Napisa¢ program, który dopisze na pocz¡tku i na ko«cu wszystkich plików ¹ródªowych z rozszerzeniem *.h
komentarz dotycz¡cy praw autorskich.
7. Otworzy¢ plik o nazwie podanej jako argument programu. Nast¦pnie wy±wietli¢ wszystkie jego linie zawieraj¡ce
jedno ze sªów podanych jako nast¦pne argumenty wraz z numerami wierszy odpowiadaj¡cymi im w pliku.
8. Doda¢ nowe manipulatory dla standardowego strumienia wyj±ciowego:
(a) bin(x) wy±wietlaj¡cy liczb¦ caªkowit¡ x w systemie binarnym,
(b) bin2(x) wy±wietlaj¡cy liczb¦ zmiennoprzecinkow¡ x w systemie binarnym,
(c) convert(x, n) wy±wietlaj¡cy liczb¦ caªkowit¡ x w systemie o podstawie n,
(d) convert2(x, n) wy±wietlaj¡cy dziesi¦tnie liczb¦ caªkowit¡ x podan¡ w systemie o podstawie n.
9. W oparciu o strumienie napisa¢ program, który podzieli plik o du»ych rozmiarach na zestaw mniejszych plików.
Nast¦pnie opracowa¢ program, odwracaj¡cy ten proces tzn. sklei¢ z powrotem pliki w jeden wynikowy.