在C語(yǔ)言中,ftell函數(shù)用來(lái)返回回當(dāng)前文件指針的位置。其定義在stdio.h頭文件中。具體介紹如下:
函數(shù)原型:long ftell(FILE *fp);
是否是標(biāo)準(zhǔn)函數(shù):是
函數(shù)功能:返回當(dāng)前文件指針的位置。這個(gè)位置是指當(dāng)前文件指針相對(duì)于文件開頭的位移量。
返回值:返回文件指針的位置,若出錯(cuò)則返回–1L。
下面通過(guò)一個(gè)例子來(lái)說(shuō)明本函數(shù)的使用方法。
#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函數(shù)的返回值實(shí)際上就是該文件的長(zhǎng)度。在實(shí)際的應(yīng)用中,函數(shù)ftell常用來(lái)計(jì)算文件的長(zhǎng)度。
關(guān)于本例:
(1)例子中首先以寫方式打開名為test.txt的文件,按照格式要求將字符串寫入文件。注意:字符串共14個(gè)字符,地址為0~13。調(diào)用fprintf函數(shù)后,文件指針自動(dòng)移到讀入的最后一個(gè)字符的下一個(gè)位置,本例中就是文件的結(jié)束符,它的地址是14。
(2)應(yīng)用ftell函數(shù)讀出文件指針fp的位置。
新聞熱點(diǎn)
疑難解答
圖片精選