Понедельник, 21.07.2025, 00:20 Приветствую Вас Гость

On-line: Книги, учебники, статьи

Главная | Регистрация | Вход | RSS

Перемещение по файлам

При чтении данных из файла указатель текущей позиции перемещается к очередному непрочитанному символу. Существует несколько функций, с помощью которых можно управлять положением этого указателя.

Установка указателя текущей позиции в начало файла производится функцией rewind:
  int rewind ( int file)

Аргумент file является дескриптором файла.

Узнать текущее положение указателя можно при помощи функции ftell:
  int ftell ( int file)

Установить указатель в любое место файла можно, используя функцию fseek:
  int fseek ( int file, int offset [, int whence ])

Функция fseek устанавливает указатель файла на байт со смещением offset (от начала файла, от его конца или от текущей позиции, в зависимости от значения параметра whence). Аргумент file представляет собой дескриптор файла. Аргумент whence задает с какого места отсчитывается смещение offset и может принимать одно из следующих значений:
SEEK_SET (отсчитывает позицию начала файла);
SEEK_CUR (отсчитывает позицию относительно текущего положения указателя);
SEEK_END (отсчитывает позицию относительно конца файла).

По умолчанию аргумент whence имеет значение SEEK_SET.

Узнать, находится ли указатель в конце файла, можно с помощью функции feof:
  int feof ( int file)

Если указатель находится в конце файла, функция возвращает true, в ином случае возвращается false.

Функцию feof удобно использовать при чтении файла:
  $file = fopen ("file.txt","r");
  if ($file)
  {
  while(!feof($file))
  {
  $str = fgets($file);
  echo $str;
  echo ("
");
  }
  fclose ( $file);
  }
  else
  {
  echo("Ошибка открытия файла");
  }
?>

При помощи этой функции удобно также определять количество строк в файле:
  $file = fopen ("file.txt","r");
  if ($file)
  {
  $counter = 0;
  while(!feof($file))
  {
  $str = fgets ($file);
  $counter++;
  }
  echo($counter);
  fclose ($file);
  }
  else
  {
  echo("Ошибка открытия файла");
  }
?>







































Вход на сайт
Поиск
Календарь
«  Июль 2025  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Наш опрос
Как Вам удобнее??
Всего ответов: 341
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 3
    Гостей: 3
    Пользователей: 0