C 速查手冊
11.7.16 ftell()
stdio.h 的函數 (function) ftell() 回傳目前檔案中存取的位置,需要一個指向結構 (structure) FILE 指標 (pointer)的參數 (parameter) 。
假設相同路徑下有 oldname.txt ,內容為 She is 19 years old. 的文字,以下程式示範 ftell() 的使用
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fPtr;
char s[25];
long p;
fPtr = fopen("oldname.txt", "r");
if (!fPtr) {
printf("檔案開啟失敗...\n");
exit(1);
}
printf("%ld\n", ftell(fPtr));
fread(s, sizeof(char), 25, fPtr);
printf("%ld\n", ftell(fPtr));
fread(s, sizeof(char), 25, fPtr);
printf("%ld\n", ftell(fPtr));
fclose(fPtr);
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:cftell.c
功能:示範 stdio.h 中函數 ftell() 的使用
作者:張凱慶 */
編譯後執行,結果如下
$ gccc cftell.c |
$ a.out |
0 |
21 |
21 |
$ |