fsetpos()

Задать позицию указателя положения в файле

Прототип:

#include <stdio.h>
int fsetpos( FILE *fp,
const fpos_t *pos );

Аргументы:

fp
Поток, в котором нужно задать позицию указателя.
pos
Указатель на объект fpos_t, который определяет новую позицию в потоке. Необходимо инициализировать значение указателя pos вызовом fgetpos() для этого же файла.

Библиотека:

libc

Описание:

Функция fsetpos() устанавливает текущую позицию в файле, определенном fp, в соответствии со значением объекта fpos_t, на который указывает pos.

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

0
Успешное завершение.
≠0
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EAGAIN
Для файлового дескриптора установлен флаг O_NONBLOCK, процесс записи будет отложен.
EBADF
Файловый дескриптор файлового потока не открыт для записи или буфер потока нуждается в сбросе, но файл не открыт.
EFBIG
Одна из следующих причин:
EINTR
Операция записи была прервана пришедшим сигналом; данные не были переданы.
EINVAL
Аргумент некорректен. Результирующий индикатор файловой позиции устанавливается в отрицательное значение.
EIO
Одна из следующих причин:
ENOSPC
На устройстве, содержащем файл, не осталось свободного места.
ENXIO
Запрос был сделан от лица несуществующего устройства, либо запрос лежит вне возможностей устройства.
ESPIPE
Файловый дескриптор потока ассоциирован с каналом или FIFO.
ENOSYS
Устройство не поддерживает функцию поиска.

Примеры:

См. fgetpos().

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

errno, fgetpos(), fopen(), fseek(), ftell()




Предыдущий раздел: Описание API системной библиотеки