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