Each unformatted input function begins execution by constructing an object of class
with the default argument
when converted to a value of type
the function endeavors
to obtain the requested input.
Otherwise, if the sentry constructor exits by throwing an exception or if
the sentry object returns false
, when converted to a value of type
the function returns without attempting to obtain any input.
In either case the number of extracted characters is set to 0;
unformatted input functions taking a character array of nonzero size as
an argument shall also store a null character (using
in the first location of the array.
If an exception is thrown during input then
is turned on
(Exceptions thrown from
are not caught or rethrown.
(exceptions()&badbit) != 0
then the exception is rethrown.
It also counts the number of characters extracted.
If no exception has been thrown it ends
by storing the count in a member object
and returning the value specified.
In any event the
is destroyed before leaving the unformatted input function.