C庫函數(shù)long int ftell(FILE *stream) 返回給定流的當(dāng)前文件位置。
以下是ftell()函數(shù)的聲明。
long int ftell(FILE *stream)
stream -- 這是一個文件對象的標(biāo)識流的指針。
此函數(shù)返回的位置指示器的當(dāng)前值。如果發(fā)生錯誤,則返回-1L,全局變量errno設(shè)置為正值。
下面的例子演示了如何使用ftell()函數(shù)。
#include <stdio.h> int main () { FILE *fp; int len; fp = fopen("file.txt", "r"); if( fp == NULL ) { perror ("Error opening file"); return(-1); } fseek(fp, 0, SEEK_END); len = ftell(fp); fclose(fp); printf("Total size of file.txt = %d bytes ", len); return(0); }
假設(shè)我們有一個文本文件file.txt的,它具有以下內(nèi)容:
This is yiibai.com
讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果:
Total size of file.txt = 21 bytes