Język C++
basic_streambuf::pbackfail
[metoda] Wstawia znak na końcu strumienia (może cofnąć wszystkie dane o jeden znak).Składnia
#include <streambuf>
namespace std
{
template < class CharT, class Traits = std::char_traits < CharT > >
class basic_streambuf
{
protected:
virtual int_type pbackfail( int_type c = Traits::eof() );
};
}
Argumenty
Zwracana wartość
W przypadku błędu oraz w klasie bazowej funkcja zwraca wartość
Traits::eof()
. Inne zwracane wartości oznaczają sukces.
Opis szczegółowy
Ta funkcja jest wywoływana przez funkcję
sungetc()
lub
sputbackc()
, gdy:
1. Pozycja dopisywania danych nie znajduje się w obszarze pobierania (wtedy ta funkcja jest wywoływana bez argumentów). W tym przypadku zadaniem tej funkcji jest cofnięcie wskaźnika obszaru pobierania danych o jeden znak, jeśli powiązana sekwencja na to pozwala (na przykład strumienie powiązane z plikami mogą ponownie wypełnić bufor danymi z pliku zaczynając od jednego znaku wcześniej).
2. Wywołujący próbuje zmienić znak znajdujący się na końcu strumienia (ta funkcja jest wtedy wywoływana z argumentem określającym wstawiany znak). W tym przypadku celem tej funkcji jest umieszczenie znaku określanego przez argument w obszarze pobierania tuż przed miejscem określanym przez wskaźnik zwracany przez funkcję
gptr()
. To może spowodować przesunięcie obszaru pobierania danych o jeden znak, jak w pierwszym przypadku.Wstawia znak na końcu strumienia (może cofnąć wszystkie dane o jeden znak).
Zagadnienia powiązane
sputbackc | Umieszcza znak na końcu obszaru odczytywania danych. (metoda) |
---|
sungetc | Dekrementuje wskaźnik odczytu danych, a następnie zwraca znak, na który wskazuje ten wskaźnik. (metoda) |
---|
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.