Espacios de nombres
Variantes
Acciones

std::basic_filebuf::pbackfail

De cppreference.com
< cpp‎ | io‎ | basic filebuf
 
 
 
std::basic_filebuf
Las funciones públicas miembros
Original:
Public member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Protegido funciones miembro
Original:
Protected member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_filebuf::pbackfail
Terceros funciones
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
protected:
virtual int_type pbackfail( int_type c = Traits::eof())

Esta función virtual protegida se llama por las funciones públicas basic_streambuf::sungetc y basic_streambuf::sputbackc (que, a su vez, se llaman por basic_istream::unget y basic_istream::putback).

1) El invocador solicita que el área de obtención esté respaldada por un carácter (se llama a pbackfail() sin argumentos), en cuyo caso, esta función vuelve a leer el archivo comenzando un byte antes y decrementa basic_streambuf::gptr(), por ejemplo llamando a gbump(-1).
2) El invocador intenta devolver un carácter diferente del recuperado anteriormente (se llama a pbackfail() con el carácter que se necesita devolver), en cuyo caso
a) Primero, verifica si existe una posición de reposición y, de no ser así, retrocede el área de obtención releyendo el archivo que comienza un byte antes.
a) Luego, verifica qué carácter se encuentra en la posición de reposición. Si el carácter contenido ya es igual a c, según lo determinado por Traits::eq(to_char_type(c), gptr()[-1]), simplemente decrementa basic_streambuf::gptr().
b) De lo contrario, si se permite que el búfer modifique su propia área de obtención, decrementa basic_streambuf::gptr() y escribe c en la ubicación indicada por gptr() después del ajuste.

Esta función nunca modifica el archivo, solo el área de obtención del búfer en memoria.

Si el archivo no está abierto (is_open()==false, esta función devuelve Traits::eof() inmediatamente.

Contenido

[editar]Parámetros

c - El carácter a reponer, o Traits::eof() para indicar que se solicita que el área de obtención se retroceda.

[editar]Valor de retorno

c en caso de éxito, excepto si c fue Traits::eof(), en cuyo caso se devuelve Traits::not_eof(c); Traits::eof() en caso de falla.

[editar]Ejemplo

[editar]Véase también

[virtual]
Pone un carácter de nuevo en la secuencia de entrada, posiblemente modificando tal secuencia.
(función miembro virtual protegida de std::basic_streambuf<CharT,Traits>)[editar]
Mueve el puntero siguiente en la secuencia de entrada hacia atrás en uno.
(función miembro pública de std::basic_streambuf<CharT,Traits>)[editar]
Pone un carácter de nuevo en la secuencia de entrada.
(función miembro pública de std::basic_streambuf<CharT,Traits>)[editar]
unextracts un carácter
Original:
unextracts a character
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::basic_istream)[editar]
pone personaje en la corriente de entrada
Original:
puts character into input stream
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública de std::basic_istream)[editar]
close