Функция fgetpos

Прототип функции fgetpos:

int fgetpos( FILE * filestream, fpos_t * position );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

Функция fgetpos возвращает текущую позицию в файле. Через параметры filestream и position функция получает информацию, необходимую для идентификации текущего положения внутреннего указателя потока.
Параметр position должен указывать на уже существующий объект типа fpos_t, который предназначен, в будущем, только для использования, в качестве параметра функции fsetpos.
Чтобы получить целочисленное значение типа int внутреннего индикатора позиции файла,  используйте функцию ftell.

Параметры:

  • filestream
    Указатель на объект типа FILE, идентифицируемый поток.
  • position
    Указатель на объект типа fpos_t.

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

Функция возвращает нулевое значение в случае успешного выполнения.

В противном случае — ненулевое значение.

Пример: исходный код программы

//пример использования функции fgetpos

#include <cstdio>
#include <iostream>

int main()
{
   FILE * ptrFile = fopen ("file.txt","r");

   fpos_t pos;

   if (ptrFile == NULL) perror ("Ошибка открытия файла");
   else
   {
     std::cout << "первый символ: " << (char)fgetc(ptrFile) << "\n";

     fgetpos (ptrFile,&pos);                      // получить текущую позицию в файле

     for (int counter = 0; counter < 4; counter++)
     {
        fsetpos (ptrFile,&pos);                                  // изменить позицию
        std::cout << "Второй символ: " << (char)fgetc (ptrFile) << "\n";
     }

     fclose (ptrFile);                                           // закрыть файл
   }
   return 0;
}

Пример работы программы

CppStudio.com
первый символ: s
Второй символ: p
Второй символ: p
Второй символ: p
Второй символ: p

Пример открытия файла file.txt, программа сначала считывает один символ, после изменяет положение указателя и считывает второй символ 4 раза.

Автор: Marienko L.
Дата: 15.09.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.