fseek函数

Posted feiniao-carrie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fseek函数相关的知识,希望对你有一定的参考价值。

函数名:fseek函数

头文件:#include<stdio.h>

功能:把与fp有关的文件位置指针放到一个指定位置。

格式:  int fseek(FILE *stream, long offset, int fromwhere);

范例一:fseek(fp, 0L, SEEK_END);

解释:文件指针定位到文件末尾,偏移0个字节

范例二:  fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);

解释:其作用是将位置指针移到离文件头50个字节处。

 

起始点

对应的数字

代表的文件位置

SEEK_SET

0

文件开头

SEEK_CUR

1

文件当前位置

SEEK_END

2

文件末尾

说明:

       offset:偏移量
       fromwhere:起始位置

      其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。

      如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;

      如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。

     “起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:

注意:  

      fseek函数的文件指针,应该为已经打开的文件。如果没有打开的文件,那么将会出现错误。

以上内容来自网络上资料,整理结果。

下面请看例题:

例题代码:

 

 

#include <stdio.h>

#include <stdlib.h>//fseek函数调用

int main()

{

    // 开始文件中的内容为aaaaaaaaa

    FILE * fp = fopen("a.txt", "r+");

    if (fp == NULL) {

        printf("file error ");

        exit(1);

    }

    fseek(fp, 2, SEEK_SET);//光标移到文件开始起第二个字节处。

    fwrite("yun", 1, 3, fp); //文件内写入内容yun

    fclose(fp);

    return 0;

}

 

 


以上是关于fseek函数的主要内容,如果未能解决你的问题,请参考以下文章

C 语言文件操作 ( fseek 使用注意事项 | fseek 函数返回值分析 )

fseek函数

fseek, _fseeki64 函数应用

fseek, _fseeki64 函数应用

C 语言文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )

php使用file函数fseek函数读取大文件效率分析