在C語言中,ftell函數用來返回回當前文件指針的位置。其定義在stdio.h頭文件中。具體介紹如下:
函數原型:long ftell(FILE *fp);
是否是標準函數:是
函數功能:返回當前文件指針的位置。這個位置是指當前文件指針相對于文件開頭的位移量。
返回值:返回文件指針的位置,若出錯則返回–1L。
下面通過一個例子來說明本函數的使用方法。
#include <stdio.h>
int main(void)
{
FILE *fp;
fp = fopen("test.txt", "w+");
/*按照格式要求將字符串寫入文件*/
fprintf(fp, "This is a test");
/*讀出文件指針fp的位置*/
printf("The file pointer is at byte %ld/n", ftell(fp));
fclose(fp);
return 0;
}
注意:本題中ftell函數的返回值實際上就是該文件的長度。在實際的應用中,函數ftell常用來計算文件的長度。
關于本例:
(1)例子中首先以寫方式打開名為test.txt的文件,按照格式要求將字符串寫入文件。注意:字符串共14個字符,地址為0~13。調用fprintf函數后,文件指針自動移到讀入的最后一個字符的下一個位置,本例中就是文件的結束符,它的地址是14。
(2)應用ftell函數讀出文件指針fp的位置。
新聞熱點
疑難解答