Пространства имён
Варианты
Действия

std::basic_istream::sentry

Материал из cppreference.com
< cpp‎ | io‎ | basic istream

 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print (C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
std::basic_istream
Глобальные объекты
Оригинал:
Global objects
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Функции-члены
Форматированный ввод
Оригинал:
Formatted input
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Неформатированная вход
Оригинал:
Unformatted input
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Позиционирование
Оригинал:
Positioning
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Разное
Оригинал:
Miscellaneous
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Член классов
Оригинал:
Member classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_istream::sentry
Функции, не являющиеся членами
 
basic_istream::sentry
Функции
Оригинал:
Functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
Определено в заголовочном файле <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.

Содержание

[править] Типы-члены

traits_type Traits

[править] Функции-члены

строит часовой object.
All подготовки задачи сделать здесь
Оригинал:
constructs the sentry object.
All the preparation tasks are done here
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент) [править]
finalizes the stream object after formatted input or after exception, if necessary
(public функция-элемент)
operator=
[удалено]
Не копируйте назначаемые
Оригинал:
not copy assignable
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)
проверяет подготовку объекта потока была успешной
Оригинал:
checks if the preparation of the stream object was successful
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент) [править]

[править] Пример

#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';
}

Вывод:

abcde


[править] См. также

извлекает форматированные данные из потока ввода std::basic_istream
(public функция-элемент) [править]
извлекает форматированные данные из потока ввода std::basic_istream
(шаблон функции) [править]