• C中的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;
    }

     

    程序运行前截图:

    ************************************************************************************************************************

    ****************************************************************************

    程序运行后截图:

    ****************************************************************************

     

    ***********************************************************************************

  • 相关阅读:
    File类总结
    MyBatis框架一级缓存与二级缓存
    SpringMVC运行原理总结
    SpringMVC:详述拦截器
    SpringMVC:自定义视图及其执行过程
    详述ThreadLocal
    浅析MVC中的数据流动
    error: gpg failed to sign the data 的一个解决办法
    保险业务核心系统设计参考
    奇怪的404
  • 原文地址:https://www.cnblogs.com/xingyunblog/p/3675568.html
Copyright © 2020-2023  润新知