Функция ftell

Прототип функции ftell:

long int ftell( FILE * filestream );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

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

Параметры:

  • filestream
    Указатель на объект типа FILE, идентифицируемый поток.

Возвращаемое значение

В случае успеха, возвращается текущее значение индикатора положения.
Если происходит ошибка, возвращается значение -1L, и глобальная переменная ERRNO устанавливается в положительное значение. Это значение может быть интерпретировано функцией perror.

Пример: исходный код программы

//пример использования функции ftell для получения размера файла

#include <cstdio>
#include <iostream>

int main()
{
  FILE * ptrFile = fopen("file.txt","rb");

  if (ptrFile == NULL) perror ("Ошибка открытия файла");
  else
  {
    fseek(ptrFile, 0, SEEK_END);                                      // переместить внутренний указатель в конец файла
    long size = ftell(ptrFile);                                       // вернуть текущее положение внутреннего указателя
    fclose (ptrFile);                                                 // закрыть файл

    std::cout << "Размер файла file.txt: " << size << " байт\n";
  }
  return 0;
}

Пример работы программы

Эта программа печатает размер файла file.txt в байтах.

CppStudio.com
Размер файла file.txt: 26 байт
Автор: Marienko L.
Дата: 15.09.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.