C語言中的ftell
函數用于返回文件指針當前位置的偏移量。其函數原型如下:
long int ftell(FILE *stream);
其中,stream
是一個指向文件的指針。ftell
函數的返回值是long int
類型,表示當前位置相對于文件起始位置的偏移量。如果函數執行失敗,返回值為-1
。
下面是一個使用ftell
函數的例子:
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("Failed to open the file.\n");
return -1;
}
fseek(file, 0, SEEK_END); // 將文件指針移動到文件末尾
long int fileSize = ftell(file); // 獲取文件大小
printf("File size: %ld bytes\n", fileSize);
fclose(file);
return 0;
}
在上面的例子中,首先使用fopen
函數打開了一個名為example.txt
的文件。然后,使用fseek
函數將文件指針移動到文件末尾。最后,使用ftell
函數獲取當前位置相對于文件起始位置的偏移量,即文件大小。注意,文件指針必須是以二進制模式打開的文件才能正確使用ftell
函數。最后,使用fclose
函數關閉文件。
注意:ftell
函數返回的偏移量是相對于文件起始位置的,而不是相對于文件末尾或其他位置的。如果需要獲取文件當前位置相對于文件末尾的偏移量,可以使用fseek
函數將文件指針移動到文件末尾,然后再使用ftell
函數。