std::basic_istream::sentry
|
|
Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate.
La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
| Definido en el archivo de encabezado <istream>
|
||
template< class CharT, class Traits = std::char_traits<CharT>> class std::basic_istream<CharT, Traits>::sentry; |
||
An object of class basic_istream::sentry is constructed in local scope at the beginning of each member function of std::basic_istream that performs input (both formatted and unformatted). Its constructor prepares the input stream: checks if the stream is already in a failed state, flushes the tie()'d output streams, skips leading whitespace if skipws flag is set, and performs other implementation-defined tasks if necessary. All cleanup, if necessary, is performed in the destructor, so that it is guaranteed to happen if exceptions are thrown during input.
Tipos de miembros
traits_type
|
Traits
|
Las funciones miembro
construye el centinela object. All las tareas de preparación se llevan a cabo aquí Original: constructs the sentry object. All the preparation tasks are done here 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) | |
| finalizes the stream object after formatted input or after exception, if necessary (función miembro pública) | |
operator= [eliminada] |
No copie asignable Original: not copy assignable 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) |
Verifica si la preparación del objeto de secuencia se realizó correctamente Original: checks if the preparation of the stream object was successful 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) |
Ejemplo
#include <iostream>
#include <sstream>
struct Foo {
char n[5];
};
std::istream& operator>>(std::istream& is, Foo& f)
{
std::istream::sentry s(is);
if(s)
is.read(f.n, 5);
return is;
}
int main()
{
std::string input = " abcde";
std::istringstream stream(input);
Foo f;
stream >> f;
std::cout.write(f.n, 5);
std::cout << '\n';
}
Salida:
abcde
Ver también
| extraer datos con formato (función miembro pública) | |
| extrae caracteres y matrices de caracteres (plantilla de función) |