C 庫函數(shù) long int ftell(FILE *stream) 返回給定流 stream 的當前文件位置。
下面是 ftell() 函數(shù)的聲明。
long int ftell(FILE *stream)
該函數(shù)返回位置標識符的當前值。如果發(fā)生錯誤,則返回 -1L,全局變量 errno 被設(shè)置為一個正值。
下面的示例演示了 ftell() 函數(shù)的用法。
#include <stdio.h> int main () { FILE *fp; int len; fp = fopen("file.txt", "r"); if( fp == NULL ) { perror ("打開文件錯誤"); return(-1); } fseek(fp, 0, SEEK_END); len = ftell(fp); fclose(fp); printf("file.txt 的總大小 = %d 字節(jié)\n", len); return(0); }
假設(shè)我們有一個文本文件 file.txt,它的內(nèi)容如下:
This is (cainiaoplus.com)
讓我們編譯并運行上面的程序,如果文件內(nèi)容如上所示,這將產(chǎn)生以下結(jié)果,否則會根據(jù)文件內(nèi)容給出不同的結(jié)果:
file.txt 的總大小 = 19 字節(jié)