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

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

Описание

Функции библиотеки Cint fseek(FILE *stream, long int offset, int whence)Установить потокstreamПозиция файла устанавливается на заданное смещение.offset, параметр offset означает смещение от заданногоwhenceКоличество байтов для поиска позиции.

Объявление

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

int fseek(FILE *stream, long int offset, int whence)

Параметр

  • stream-- Это указатель на объект FILE, который идентифицирует поток.
  • offset-- Это смещение в байтах относительно whence.
  • whence-- Это позиция, указывающая, откуда добавляется смещение. Обычно задается одной из следующих констант:
КонстантыОписание
SEEK_SETНачало файла
SEEK_CURТекущая позиция указателя файла.
SEEK_ENDКонец файла

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

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

Пример

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

#include <stdio.h>

int main ()
{
   FILE *fp;

   fp = fopen("file.txt","w+");
   fputs("This is example.com", fp);
  
   fseek( fp, 7, SEEK_SET );
   fputs(" C Programming Langauge", fp);
   fclose(fp);
   
   return(0);
}

Давайте скомпилируем и запустим вышеуказанную программу, которая создаст файл.file.txt, его содержимое выглядит следующим образом. Сначала программа создаёт файл и записываетThis is example.com, но затем мы сбрасываем указатель записи на седьмую позицию и используем оператор puts(), чтобы перезаписать файл следующим образом:

This is C Programming Langauge

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

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;

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

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

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