Прототип функции 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
в байтах.