Programowanie obiektowe
Znaczniki stanu strumienia
Tak klasa istream jak klasa ostream są pochodnymi jeszcze bardziej elementarnej klasy ios,
która między innymi definiuje następujący typ wyliczeniowy
class ios {
public:
// znaczniki do sterowania formatem:
enum{
skipws=01, // omiń białe spacje na wejściu
// adjustacja pola:
left=02, // dopełnij za wartością
right=04, // dopełnij przed wartością
internal=010, // dopełnij między znakiem a wartością
// podstawa dla liczb całkowitych:
dec=020, // dziesiętna
oct=040, // ósemkowa
hex=0100, // szesnastkowa
showbase=0200, // pokaż podstawę dla liczb całkowitych
showpoint=0400, // wydrukuj wiodące zera
uppercase=01000, // 'E', 'X' zamiast 'e', 'x'
showpos=02000, // jawny '+' dla dodatnich liczb
// całkowitych
// notacja zmiennopozycyjna:
scientific=04000, // .dddddd Edd
fixed=010000, // dddd.dd
// opróżnij bufor wyjściowy:
unitbuf=020000, // po każdej operacji wyjściowej
stdio=040000 // po każdym znaku
};
// ....
};
Typ ten określa t.zw. znaczniki (ang. flags),
które służą do sterowania sposobem formatowania
strumienia. Znaczniki te można ustawiać bądź kasować
dla dowolnego strumienia oddzielnie za pomocą
funkcji składowych
class ios {
public:
// ....
long setf(long);
long unsetf(long);
};
Na przykład chcąc przestawić sposób formatowania liczb na standardowym
wyjściu z dziesiętnego na szesnastkowy, piszemy
cout.unsetf(ios::dec);
cout.set(ios::hex);
(10) (c) Marian Mrozek, Kraków - Nowy Sącz, 1997-2001
Wyszukiwarka
Podobne podstrony:
operacje wejscia wyjscia 13operacje wejscia wyjscia 7operacje wejscia wyjscia 807 Strumienie, operacje wejścia wyjścia04 operacje wejscia wyjsciaoperacje wejscia wyjscia 10operacje wejscia wyjscia 3operacje wejscia wyjscia 6operacje wejscia wyjscia 1operacje wejscia wyjscia 9operacje wejscia wyjscia 0operacje wejscia wyjscia 2operacje wejscia wyjscia 12operacje wejscia wyjscia 11wejscie wyjsciePorty wejścia wyjściawięcej podobnych podstron