Четенето от файл се извършва последователно, т.е. след изпълнение на следващата операция за четене, курсорът ще бъде настроен на следващия непрочетени характер. Можете да промените позицията на показалеца, като използвате функцията fseek (). Той се използва за преместване на указателя на файла към определена позиция. Функцията fseek () е посочена в стандартната библиотека c език - stdio.h, така че началото на програмата, в която ще се използва функцията, трябва да бъде декларацията: #include.
Описание на функцията fseek в
, SEEK_CUR
и SEEK_END
:
Стойността на параметъра pos е SEEK_SET - отместването ще бъде определено по отношение на началото на файла , Когато SEEK_CUR е равен, отместването се счита от текущата позиция на курсора. Ако има стойност SEEK_END, тогава отместването ще бъде приспаднато от края на файла. Функцията fseek връща нула в случай на успешен ход на показалеца и на всяко другоненулева стойност, ако не успя да изпълни желаното действие, например в случай на чуждестранен изходен файл с индекс. Връщаната стойност ще бъде равна на EBADF, когато изпращате грешен указател на файла, EINVAL в случай на невалидна стойност на аргумента или ESPIPE с грешка в параметъра за отместване, например извън границата на файла.
Програма
Описание
Пример
Програма
Описание
# включи
int main ()
[
FILE * fp;
fp = fopen ("test.txt", "r");
fseek (fp, 7 SEEK_CUR);
printf ("% ld", ftell (fp));
fclose (fp);
връщане 0;
}
Свържете стандартната езикова библиотека с stdio.h Посочете файловата променлива Отворете файла за четене Преместваме курсора до 7 байта преди текущата позиция (Тъй като ние само отворихме файла, курсорът е в началото.) Отпечатваме текущата позиция на курсора с функцията ftell () Затваряме файла
Освен разглежданите, има и други функции за работа с показалеца, например:Rewind () - Използва се за поставяне на курсора в началото на файла. Ftell () - Връща позицията на показалеца в момента. Feof () - служи за идентифициране на края на файла. Когато краят на файла достигне стойността на функцията, ще бъде вярно. Заключителни бележки
При работа с тази функция е необходимо да се помни, че работи само със стрийминг вход-изход. Също така, не забравяйте да затворите файла с fclose ().