Język C++
basic_istream::sentry::sentry
[konstruktor] Tworzy obiekt sentry umożliwiający przygotowanie strumienia do formatowania wejścia.Składnia
#include <istream>
namespace std
{
template < class CharT, class Traits = std::char_traits < CharT > >
class basic_istream
: virtual public std::basic_ios < CharT, Traits >
{
public:
class sentry
{
explicit sentry( std::basic_istream < CharT, Traits >& is, bool noskipws = false );
};
};
}
Wykonywane działania
Argumenty
Opis szczegółowy
Ten konstruktor jest wywoływany zawsze na początku każdej funkcji składowej klasy
std::basic_istream
zapewniającej dostęp do wejścia (sformatowanego lub niesformatowanego). Jeśli wywołanie
is.good()
zwróci wartość
false
, następuje wywołanie
is.setstate( failbit )
i funkcja kończy działanie. W innym przypadku, jeśli wywołanie
is.tie()
zwróci niepusty wskaźnik, następuje wywołanie
is.tie()->flush()
w celu zsynchronizowania sekwencji wyjściowej z zewnętrznymi strumieniami. Implementacja może opóźniać wywołanie funkcji
flush, dopóki wywołanie
is.rdbuf()->underflow()
jest przetwarzane. Jeśli nie ma takich wywołań przed zniszczeniem obiektu
sentry, to obiekt może zostać całkowicie zniszczony. Jeśli flaga
noskipws nie jest ustawiona i wywołanie
is.flags() & ios_base::skipws
zwraca wartość niezerową, funkcja odczytuje i pomija wszystkie białe znaki przed następnym dostępnym niebiałym znakiem. Jeśli wywołanie
is.rdbuf()->sbumpc()
lub
is.rdbuf()->sgetc()
zwraca wartość
traits::eof()
, funkcja wywołuje
setstate( failbit | eofbit )
.
Rzucane wyjątki
std::ios_base::failure
, jeśli koniec pliku pojawi się podczas pomijania białych znaków.
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.