漩涡鸣人 发表于 2014-9-29 16:13:44

C标准库之输入输出函数——ftell/fseek

功能:ftell函数用于获得文件指针当前位置相对文件首的偏移字节数fseek函数用于设置文件指针的位置
函数原型:long ftell(FILE * stream);int fseek(FILE * stream, long offset, int origin); 参数:
参数说明
stream文件指针
offset移动的偏移量
origin起始位置
注:预定义了几个宏作为origin的可取值:
文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))
返回值:ftell返回当前文件指针偏移字节数fseek返回0表示成功,并设置errno的值,可以用perror()输出错误信息
要求:
函数需要的头文件
ftell<stdio.h>
fseek<stdio.h>

举例:#include <stdio.h>
#include <string.h>

int main(void)
{
    FILE * fp = NULL;
    long offset;
    char text[] = "File context";

    fp = fopen("data.txt", "w+");//读写方式创建并打开文件data.txt
    fputs(text, fp);//写入一个字符串

    fseek(fp, 7, SEEK_SET);//设置文件指针指向相对文件头7字节处
    offset = ftell(fp);
    printf("当前文件指针指向%ld字节处\n", offset);

    fseek(fp, 0, SEEK_END);//设置文件指针指向文件尾
    offset = ftell(fp);
    printf("文件尾在相对文件头%ld字节处\n", offset);

    fclose(fp);//关闭文件
    return 0;
}
运行效果:

拈花小仙 发表于 2014-10-29 23:48:40

强烈支持哦~

大个的糖果 发表于 2014-11-1 02:31:52

苏安酸 发表于 2021-4-1 14:43:55

非常感谢!
页: [1]
查看完整版本: C标准库之输入输出函数——ftell/fseek