При чтении данных из файла указатель текущей позиции перемещается к очередному непрочитанному символу. Существует несколько функций, с помощью которых можно управлять положением этого указателя.
Установка указателя текущей позиции в начало файла производится функцией rewind:
intrewind( intfile)
Аргумент file является дескриптором файла.
Узнать текущее положение указателя можно при помощи функции ftell:
intftell( intfile)
Установить указатель в любое место файла можно, используя функцию fseek:
intfseek( intfile, intoffset[, intwhence ])
Функция fseek устанавливает указатель файла на байт со смещением offset (от начала файла, от его конца или от текущей позиции, в зависимости от значения параметра whence). Аргумент file представляет собой дескриптор файла. Аргумент whence задает с какого места отсчитывается смещение offset и может принимать одно из следующих значений:
SEEK_SET (отсчитывает позицию начала файла);
SEEK_CUR (отсчитывает позицию относительно текущего положения указателя);
SEEK_END (отсчитывает позицию относительно конца файла).
По умолчанию аргумент whence имеет значение SEEK_SET.
Узнать, находится ли указатель в конце файла, можно с помощью функции feof:
intfeof( intfile)
Если указатель находится в конце файла, функция возвращает true, в ином случае возвращается false.
Функцию feof удобно использовать при чтении файла:
Apple постоянно сокращает расходы на электроэнергию и уменьшает вред, который дата-центры компании наносят окружающей среде. Согласно отчетам Apple, с 2013 года 100% их дата-центров и 94% офисов работают на возобновляемых источниках энергии. При этом компания продолжает двигаться к большей независимости от поставщиков электричества. Дата-центр в Мэйдене окружают 400 000 квадратных метров солнечных батарей, которые вырабатывают 42 миллиона киловатт-часов в год. Этого хватает на то, чтобы обеспечить электричеством 60% серверов и систем охлаждения, а остальную энергию вырабатывает близлежащая станция, работающая на биотопливе.