
- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - ftell() 函数
C 库的 ftell() 函数返回给定流的当前文件位置。此函数对于确定文件中的下一个读或写操作将发生的位置非常重要。
语法
以下是 C 库 ftell() 函数的语法:
long ftell(FILE *stream);
参数
stream : 指向 FILE 对象的指针,指定文件流。FILE 对象通常通过使用 fopen() 函数获得。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
返回值
成功时,ftell() 返回当前文件位置作为长整数。失败时,它返回 -1L 并设置全局变量 errno 以指示错误。
示例 1
ftell() 的基本用法
在此示例中,我们打开一个文件,移动文件位置指示器,然后使用 ftell() 获取当前位置。
#include <stdio.h> int main() { FILE *file = fopen("example.txt", "r"); if (file == NULL) { perror("Failed to open file"); return 1; } // Move the file position indicator to the 10th byte fseek(file, 10, SEEK_SET); // Get the current position long position = ftell(file); if (position == -1L) { perror("ftell failed"); } else { printf("Current file position: %ld\n", position); } fclose(file); return 0; }
输出
以上代码产生以下结果:
Current file position: 10
示例 2
使用 ftell() 确定文件长度
此示例演示如何使用 ftell() 通过查找文件末尾来查找文件的长度。
#include <stdio.h> int main() { FILE *file = fopen("example.txt", "r"); if (file == NULL) { perror("Failed to open file"); return 1; } // Move the file position indicator to the end of the file fseek(file, 0, SEEK_END); // Get the current position, which is the file size long fileSize = ftell(file); if (fileSize == -1L) { perror("ftell failed"); } else { printf("File size: %ld bytes\n", fileSize); } fclose(file); return 0; }
输出
执行以上代码后,我们得到以下结果:
File size: 150 bytes
广告