Работа с функцией fseek
Команда fseek в языке программирования C используется для установки позиции в файле. Можно сказать, что эта команда позволяет переместить "указатель" на определенное место в файле. Затем можно выполнять дальнейшие операции чтения или записи в заданную позицию.
Синтаксис команды fseek выглядит следующим образом:
<code>int fseek(FILE *stream, long int offset, int origin);
</code>
Аргументы, передаваемые в fseek:
stream- указатель на объект типа FILE, представляющий открытый файл.offset- смещение, на которое нужно переместить файловый указатель. Оно может быть положительным или отрицательным числом.origin- начальная точка, с которой производится смещение указателя. Возможные значения этой переменной:SEEK_SET- начало файлаSEEK_CUR- текущая позиция указателяSEEK_END- конец файла
Возвращаемое значение функции fseek:
Функция fseek возвращает 0 в случае успеха и ненулевое значение в случае ошибки.
Давайте рассмотрим несколько примеров использования команды fseek:
Пример 1: Перемещение указателя в начало файла
<pre class="hljs language-c">
#include <stdio.h>
int main()
{
FILE *file = fopen("example.txt", "r");
if (file == NULL)
{
printf("Не удалось открыть файл\n");
return 1;
}
fseek(file, 0, SEEK_SET); // перемещение указателя в начало файла
fclose(file);
return 0;
}
</pre>
Пример 2: Перемещение указателя на заданное смещение относительно текущей позиции
<pre class="hljs language-c">
#include <stdio.h>
int main()
{
FILE *file = fopen("example.txt", "r");
if (file == NULL)
{
printf("Не удалось открыть файл\n");
return 1;
}
fseek(file, 10, SEEK_CUR); // перемещение указателя на 10 байт вперед от текущей позиции
fclose(file);
return 0;
}
</pre>
Пример 3: Перемещение указателя на заданное смещение относительно конца файла
<pre class="hljs language-c">
#include <stdio.h>
int main()
{
FILE *file = fopen("example.txt", "r");
if (file == NULL)
{
printf("Не удалось открыть файл\n");
return 1;
}
fseek(file, -5, SEEK_END); // перемещение указателя на 5 байт назад от конца файла
fclose(file);
return 0;
}
</pre>
В этих примерах мы открываем файл с помощью функции fopen и затем выполняем перемещение указателя при помощи функции fseek. Обратите внимание, что перед использованием функции fseek необходимо открыть файл в соответствующем режиме - для чтения или записи.
В заключение, команда fseek очень полезна при работе с файлами в языке программирования C. Она позволяет устанавливать позицию в файле и выполнять операции чтения или записи с этого места.