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函数。