Функции библиотеки C -fgetpos()

Стандартная библиотека C - <stdio.h>

Описание

Функции библиотеки Cint fgetpos(FILE *stream, fpos_t *pos)Получает streamstreamтекущую позицию файла и записывает её вpos。

Объявление

Ниже приведено объявление функции fgetpos().

int fgetpos(FILE *stream, fpos_t *pos)

Параметр

  • stream-- Это указатель на объект FILE, который идентифицирует поток.
  • pos-- Это указатель на объект fpos_t.

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

В случае успеха эта функция возвращает ноль. Если возникает ошибка, возвращается ненулевое значение.

Пример

Следующий пример демонстрирует использование функции fgetpos().

#include <stdio.h>

int main ()
{
   FILE *fp;
   fpos_t position;

   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Hello, World!", fp);
  
   fsetpos(fp, &position);
   fputs("这将覆盖之前的内容", fp);
   fclose(fp);
   
   return(0);
}

Давайте скомпилируем и запустим вышеприведённую программу, которая создаст файлfile.txt, содержимое которого следующее. Сначала мы используемfgetpos()Функция получает начальную позицию файла, затем мы записываем в файлHello, World!, затем мы используемfsetpos()Функция используется для сброса указателя записи в начало файла и перезаписи файла следующим содержимым:

This will overwrite the previous content.

Теперь давайте используем следующую программу для просмотра содержимого вышеуказанного файла:

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
   int n = 0;

   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
          break ;
      }
      printf("%c", c);
   }

   fclose(fp);

   return(0);
}

Стандартная библиотека C - <stdio.h>

Другие расширения