fgetpos()

Получить текущее значение указателя положения в потоке

Прототип:

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

Аргументы:

fp
Поток, позицию в котором нужно определить.
pos
Указатель на объект fpos_t, в котором функция может разместить положение указателя положения.

Библиотека:

libc

Описание:

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

Можно использовать значение, размещенное в pos, в вызове fsetpos(), если нужно изменить позицию в файле во время вызова fgetpos().

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

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

Примеры:

#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *fp;
fpos_t position;
char buffer[80];
fp = fopen( "file", "r" );
if ( fp != NULL )
{
fgetpos( fp, &position ); /* get position */
fgets( buffer, 80, fp ); /* read record */
fsetpos( fp, &position ); /* set position */
fgets( buffer, 80, fp ); /* read same record */
fclose( fp );
return (EXIT_SUCCESS);
}
return (EXIT_FAILURE);
}

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

ANSI, POSIX 1003.1

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

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

errno, fopen(), fseek(), fsetpos(), ftell()




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