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


fgetpos

Возвращает индикатор файл-положения потока.

int fgetpos( 
   FILE *stream,
   fpos_t *pos 
);

Параметры

  • stream
    Поток целевого объекта.

  • pos
    Хранилище Положение-индикатора.

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

В случае успешного выполнения; fgetpos возвращает 0.При ошибке возвращается ненулевое значение и наборы errno одной из следующих констант, определенных в STDIO.H манифестов (): EBADFозначает, что указанный поток не является допустимым указателем файла или недоступен или EINVAL, что означает stream значение или значение pos недопустимо, например, если указатель null.If stream OR pos a NULL недопустимый указатель, функция вызывает обработчик параметра, как описано в разделе Проверка параметров.

Заметки

fgetpos функция возвращает текущее значение stream индикатор файл-положения аргумента и сохраняет его в указанном объекте к которым следуют pos.fsetpos функция может позже использовать данные, хранящиеся в пределах pos сбросить stream указатель аргумента к его позиции в момент fgetpos вызов.pos значение хранится во внутреннем формате и предназначено для использования только by fgetpos и fsetpos.

Требования

Функция

Обязательный заголовок

fgetpos

<stdio.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

// crt_fgetpos.c
// This program uses fgetpos and fsetpos to
// return to a location in a file.

#include <stdio.h>

int main( void )
{
   FILE   *stream;
   fpos_t pos;
   char   buffer[20];

   if( fopen_s( &stream, "crt_fgetpos.txt", "rb" ) ) {
      perror( "Trouble opening file" );
      return -1;
   }

   // Read some data and then save the position. 
   fread( buffer, sizeof( char ), 8, stream );
   if( fgetpos( stream, &pos ) != 0 ) {
      perror( "fgetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fgetpos: %.13s\n", buffer );

   // Restore to old position and read data 
   if( fsetpos( stream, &pos ) != 0 ) {
      perror( "fsetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fsetpos: %.13s\n", buffer );
   fclose( stream );
}

Вход: crt_fgetpos.txt

fgetpos gets a stream's file-position indicator.

70hdhh4t.collapse_all(ru-ru,VS.110).gifВыходные данные crt_fgetpos.txt

after fgetpos: gets a stream
after fsetpos: gets a stream

Эквивалент в .NET Framework

System:: Ввода-вывода:: FileStream:: Position

См. также

Ссылки

Поток ВВОДА-ВЫВОДА

fsetpos