Новини високих технологій
» » Використання функції сі fseek

Використання функції сі fseek

6-09-2018, 18:47
876
Читання з файлу здійснюється послідовно, тобто після виконання чергової операції зчитування курсор буде встановлений на наступний непрочитанный символ. Змінити положення покажчика можна за допомогою функції fseek(). Вона використовується для переміщення вказівника файлу в певну позицію. Функція fseek() задана в стандартній бібліотеці мови Сі — stdio.h, тому на початку програми, в якій функція буде використовуватися, повинно бути декларація: #include .

Опис функції fseek в сі

Int fseek(FILE *FilePointer, long offset, int pos) - функцію передаються такі аргументи: FILE *FilePointer - вказівник на об'єкт FILE. До використання функції необхідно відкрити файл за допомогою функції fopen(). Offset — через даний аргумент у функцію передається, на скільки байт повинен бути зміщений покажчик. Тип довге ціле (long int). Позитивне значення параметра означає зміщення вправо, а негативне вліво. Pos — визначає позицію, з якої додається зсув. Тип даного аргументу ціле (int). Параметр pos визначає відправну точку, від якої буде відраховуватися зміщення. Він може приймати три значення - 012 які рівносильні символьним константам SEEK_SET(0), SEEK_CUR(1) і SEEK_END(2):


Значення параметра pos одно SEEK_SET — зміщення буде визначатися відносно початку файлу. При значенні рівному SEEK_CUR зміщення вважається від поточної позиції курсору. Якщо він має значення SEEK_END, отже, зміщення буде відраховуватися від кінця файлу. Функція сі fseek повертає нуль у разі успішного переміщення покажчика і будь-яке ненульове значення, якщо вона не змогла виконати потрібну дію, наприклад, у разі виходу покажчика за кордону файлу. Значення, що повертається, буде дорівнювати EBADF при передачі у функцію невірного покажчика файлу, EINVAL у разі неприпустимого значення аргументу або ESPIPE при помилці в параметрі offset, наприклад, вихід за межі файлу.

Приклад



Програма



Опис



#include

int main()

{

FILE *fp;

fp = fopen("test.txt", "r");

fseek(fp, 7 SEEK_CUR);

printf("%ld", ftell(fp));

fclose(fp);

return 0;


}



Підключаємо стандартну бібліотеку мови С stdio.h Задаємо файлову змінну Відкриваємо файл на читання Переміщаємо курсор на 7 байт вперед від поточного положення (оскільки ми тільки відкрили файл, курсор знаходиться на початку) Друкуємо поточне положення курсору за допомогою функції ftell() Закриваємо файл

Крім розглянутої, є і інші функції для роботи з покажчиком, наприклад: Rewind() - використовується для установки курсору в початок файлу. Ftell() - повертає положення покажчика в даний момент. Feof() - служить для ідентифікації кінця файлу. При досягненні кінця файлу значення функції буде дорівнює true.

Заключні зауваження

При роботі з даною функцією потрібно пам'ятати, вона працює тільки з потоковим введенням-виведенням. Також не слід забувати закривати файл функцією fclose().
Цікаво по темі
Перевірка наявності файлу PHP file_exists
Перевірка наявності файлу PHP file_exists
Широке застосування баз даних не позбавило звичайну файлову систему значення. Запис і читання файлів як і раніше займають значиме місце в
Функція strpos в PHP: визначення позиції підрядка
Функція strpos в PHP: визначення позиції підрядка
Пошук входження підрядка в рядок за допомогою функції PHP strpos(). Типи вхідних і вихідних параметрів, приклади і тонкощі використання. Схожі
Читання файлу функцією file get content PHP
Читання файлу функцією file get content PHP
Читання вмісту файлу цілком - природна операція, і в багатьох випадках краще рішення - використання функції file_get_contents на PHP.