fseek () в C / C ++ с примером

Опубликовано: 1 Января, 2022

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

int fseek (указатель FILE *, длинное смещение int, позиция int)
указатель: указатель на объект ФАЙЛ, который идентифицирует поток.
смещение: количество байтов для смещения от позиции
position: позиция, откуда добавляется смещение.

возвращает:
ноль в случае успеха, иначе возвращается ненулевое значение 

position определяет точку, относительно которой необходимо переместить указатель файла. У него три значения:
SEEK_END: обозначает конец файла.
SEEK_SET: обозначает начало файла.
SEEK_CUR: обозначает текущую позицию файлового указателя.

// C Program to demonstrate the use of fseek()
#include <stdio.h>
int main()
{
FILE *fp;
fp = fopen ( "test.txt" , "r" );
// Moving pointer to end
fseek (fp, 0, SEEK_END);
// Printing position of pointer
printf ( "%ld" , ftell (fp));
return 0;
}

Выход:

81 год

Объяснение

Файл test.txt содержит следующий текст:

"Someone over there is calling you.
we are going for work.
take care of yourself."

Когда мы реализуем fseek (), мы перемещаем указатель на расстояние 0 относительно конца файла, т.е. теперь указатель указывает на конец файла. Следовательно, на выходе получается 81.

Связанная статья: fseek vs rewind в C

Эта статья предоставлена Hardik Gaur . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Хотите учиться на лучших видео и практических задачах, ознакомьтесь с Базовым курсом C для базового и продвинутого C.
C++ C