Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Język C++

basic_istream::sentry::sentry

[konstruktor] Tworzy obiekt sentry umożliwiający przygotowanie strumienia do formatowania wejścia.

Składnia

C/C++
#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

  • sprawdza, czy strumień znajduje się w prawidłowym stanie
  • opróżnia zsynchronizowane strumienie wyjściowe
  • nie pomija początkowych białych znaków (jeśli flaga <<noskipws>> jest ustawiona)

Argumenty

ArgumentOpis
isStrumień wejściowy do przygotowania.
noskipwsWartość
false
 tego argumentu powoduje pominięcie białych znaków.

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