Поделиться через


basic_stringbuf::seekoff

Защищенная виртуальная функция-член пытается изменить текущие позиции для управляемых потоков.

virtual pos_type seekoff(
   off_type _Off,
   ios_base::seekdir _Way,
   ios_base::openmode _Mode = ios_base::in | ios_base::out
);

Параметры

  • _Off
    Позиция поиска для относительно _Way. Для получения дополнительной информации см. basic_stringbuf::off_type.

  • _Way
    Начальная точка для операций смещения. Возможные значения см. в ios_base::seekdir.

  • _Mode
    Определяет режим для позиции указателя. По умолчанию позволяет изменения чтения и записи позиции. Для получения дополнительной информации см. ios_base::openmode.

Возвращаемое значение

Возвращает новую позицию или недопустимая позиция потока.

Заметки

Для объекта класса basic_stringbuf<Elem, Tr, Alloc>, позиция потока состоит только смещения потока. Смещенное ноль указывает первый элемент контролируемой последовательности.

Новая позиция определяется следующим образом:

  • Если _Way == ios_base::beg, новая позиция начала потока и _Off.

  • Если _Way == ios_base::cur, новая позиция текущая позиция потока и _Off.

  • Если _Way == ios_base::end, новая позиция концом потока и _Off.

Если _Mode & ios_base::in отлично от нуля, функция изменяет следующую позицию прочитать в буфер. Если _Mode & ios_base::out отлично от нуля, функция изменяет положение следующей записи в буфере вывода. Для потока, чтобы повлиять на его буфер должен существовать. Для операции перетаскивания, чтобы преуспеть, полученный позиция потока должна лежать в пределах контролируемой последовательности. Если функция влияет на обе позиции потока, _Way должно быть ios_base::beg или ios_base::end и оба потока располагаются на один и тот же элемент. В противном случае (или если не положение не относится), операция перетаскивания завершается неудачей.

Если функция проходит успешно, редактирования или обе позиций потока, она возвращает возникающая позиция потока. В противном случае она завершается неудачей и возвращает недопустимая позиция потока.

Требования

Заголовок:<sstream>

Пространство имен: std

См. также

Ссылки

Класс basic_stringbuf

Программирование iostream

Соглашения iostreams