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


basic_filebuf::seekpos

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

virtual pos_type seekpos( 
   pos_type _Sp, 
   ios_base::openmode _Which = ios_base::in | ios_base::out 
);

Параметры

  • _Sp
    Позиция для поиска.

  • _Which
    Определяет режим для позиции указателя. По умолчанию позволяет изменения чтения и записи позиции.

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

Если указатель файла fp указатель, функция завершается с ошибкой. В противном случае он стремится изменить положение потока путем вызова fsetpos(fp, &fposn), где fposn объекта fpos_t, хранящиеся в pos. Если эта функция завершается успешно, то функция возвращает pos. В противном случае он возвращает недопустимая позиция потока. Чтобы определить, если позиция потока недопустима, сравните возвращаемого значения с pos_type(off_type(-1)).

Заметки

Защищенная виртуальная функция-член стремится текущие изменения позиции для управляемых потоков. Для объекта класса basic_filebuf<Elem, Tr>, позиция потока может быть представлена объектом типа fpos_t, который хранит смещение и все данные о состоянии, необходимых для анализа расширенный поток. Смещенное ноль указывает первый элемент потока. (Объект типа pos_type содержит по крайней мере объект fpos_t).

Для файла открытого как для чтения так и для записи, оба входных потка входных и выходных данных располагаются в тандем. Для переключения между вставки и извлечь необходимо вызвать метод pubseekoff или pubseekpos. Вызовы pubseekoff (и, следовательно, в seekoff) имеют различные ограничения для текстовых потоков, двоичных потоков и расширенных потоков.

Для расширенных потока, если таковые вставки произошли, поскольку поток был открыт, или с момента последней возможности в streampos, вызовы функций переполнение. Он также содержит любая последовательность, необходимых для восстановления начальное состояние преобразования, используя аспект fac преобразования файла для вызова fac.unshift по мере необходимости. Каждый элемент таким образом, созданное byte типа char записывается в поток, обозначенному указателем файла fp, если последующими вызовами формы fputc(byte, fp). Если вызов fac.unshift или все записи завершаются ошибкой, функция не удовлетворяются.

Требования

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

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

См. также

Ссылки

Класс basic_filebuf

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

Соглашения iostreams