目录

  • 一.fseek 函数简介
  • 二.fseek 函数实战
  • 三.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.fseek 函数简介

fseek 函数用来移动文件流的读写位置;就好比播放器,可以直接拖拽到精彩的时间点一样,fseek 函数声明如下

#include <stdio.h>
#include <stdlib.h>
/*
*描述:文件读写偏移
*
*参数:
*   [in]  stream:文件指针句柄
*   [in]  offset:偏移量,正数表示正向偏移(向后偏移),负数表示负向偏移(向前偏移)
*   [in]  fromwhere:设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
*
*返回值:如果执行成功,函数返回0。如果执行失败,函数返回一个非0值。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
*/int fseek(FILE *stream, long offset, int fromwhere);

注意:参数 fromwhere 为下列其中一种:

  • SEEK_SET 从距文件开头 offset 位移量为新的读写位置.

  • SEEK_CUR 以目前的读写位置往后增加 offset 个位移量.

  • SEEK_END 将读写位置指向文件尾后再增加 offset 个位移量.

    fseek(fp,100L,SEEK_SET); //把 stream 指针移动到离文件开头 100 字节处;
    fseek(fp,100L,SEEK_CUR); //把 stream 指针移动到离文件当前位置 100 字节处;
    fseek(fp,-100L,SEEK_END); //把 stream 指针退回到离文件结尾 100 字节处。

二.fseek 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 文件读写 fseek 函数
//@Time:2021/07/24 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include <stdio.h>
#include <stdlib.h>//fseek函数调用int main()
{// 开始文件中的内容为0123456789FILE * fp = fopen("a.txt", "r+");if (fp == NULL) {printf("file error\n");exit(1);}fseek(fp, 2, SEEK_SET);//光标移到文件开始起第二个字节处。fwrite("yun", 1, 3, fp); //文件内写入内容yunfclose(fp);return 0;
}/*原始文件内容:0123456789运行该程序后文件内容:01yun56789*/

如果执行失败(比如 offset 超过文件自身大小),则不改变 stream 指向的位置;

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

fseek 函数也可以这样理解,相当于在文件当中定位。这样在读取规律性存储文件时可以利用其 OFFSET 偏移量读取文件上任意的内容;

三.猜你喜欢

  1. C 语言 数组下标越界和内存溢出区别
  2. C 语言 使用指针遍历数组
  3. C 语言 指针和数组区别
  4. C 语言 指针数组和数组指针区别
  5. C 语言 野指针
  6. C 语言 函数值传递和址传递
  7. C 语言 函数不定长参数
  8. C 语言 函数指针
  9. C 语言 指针函数
  10. C 语言 回调函数 callback
  11. C 语言 #pragma once
  12. C 语言 #include <> 与 #include “” 区别
  13. C 语言 const 修饰函数参数
  14. C 语言 const 和 define 区别
  15. C 语言 #运算符
  16. C 语言 ##运算符
  17. C 语言 __VA_ARGS__
  18. C 语言 ##__VA_ARGS__
  19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C 语言 va_start / va_end / va_arg 自定义 printf 函数
  21. C 语言 main 函数
  22. C 语言 main 函数参数 main(int argc, char *argv[])
  23. C 语言 局部变量
  24. C 语言 全局变量
  25. C 语言 全局变量和局部变量区别
  26. C 语言 static
  27. C 语言 extern

未经允许不得转载:猿说编程 » C 语言 文件读写 fseek 函数

C语言 文件读写 fseek 函数 - C语言零基础入门教程相关推荐

  1. C语言 文件读写 fputs 函数 - C语言零基础入门教程

    目录 一.fgets 函数简介 二.fgets 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fgets 函数简介 fge ...

  2. C语言 文件读写 fputc 函数 - C语言零基础入门教程

    目录 一.fputc 函数简介 二.fputc 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fputc 函数简介 fpu ...

  3. C语言 文件读写 ferror 函数 - C语言零基础入门教程

    目录 一.ferror 函数简介 二.ferror 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.ferror 函数简介 ...

  4. Python eval 与 exec 函数区别 - Python零基础入门教程

    目录 一.Python eval 与 exec 函数的区别 二.价值 10 个亿的智能机器人核心代码 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Py ...

  5. Python reduce / map / filter 函数区别 - Python零基础入门教程

    目录 一.map 函数 二.reduce 函数 三.filter 函数 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 Pyth ...

  6. Python type函数和isinstance函数区别 - Python零基础入门教程

    目录 一.Python type 函数简介 二.Python isinstance 函数简介 三.Python type 函数和 isinstance 函数区别 四.猜你喜欢 零基础 Python 学 ...

  7. Python 匿名函数 lambda - Python零基础入门教程

    目录 一.Python 匿名函数 lambda 语法 二.Python 匿名函数 lambda 调用 1.lambda 匿名函数常规使用 2. lambda 匿名函数使用不定长参数 3. lambda ...

  8. C语言文件读写常用函数总结

    C语言文件读写常用函数总结 有点小头疼这几天复习,可是总是有些小可爱问有关C语言文件方面的内容,在此写篇博文一劳永逸. 目录 C语言文件读写常用函数总结 fopen函数 fclose函数 fseek函 ...

  9. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

最新文章

  1. Service ANR问题
  2. mysql 数据相加_mysql,php_mysql查询将两列数值相加问题,mysql,php,sql - phpStudy
  3. BundleFusion那些事儿
  4. Redis成神之路电子版教程已问世,面试题+笔记+项目实战
  5. Struct复杂数据类型的UDF编写、兼容HIVE的GenericUDF编写
  6. 在fedora20下面手动为自己的安装程序创建桌面图标
  7. 对double值进行四舍五入,保留两位小数的几种方法
  8. 09 spring-aop
  9. 父与子一起学python3_父与子的编程之旅:与小卡特一起学python
  10. Spring入门笔记总结
  11. 一个工科土博士生---最近的状态和想法
  12. 成绩管理系统(C语言)完整代码,纯C的练手程序
  13. C语言数据结构代码——有向图
  14. 国惠光电短波红外相机资料下载
  15. JavaScript判断输入的数是不是素数
  16. 指南针 android gps,北斗GPS指南针
  17. [转载]SDL 用法,第 5 部分:Pirates Ho! 中界面设计的原则 - 简易性、一致性和引人入胜
  18. 易企cms模板调用标签列表
  19. 北京积分落户分数线涨幅超过4会扩大落户名额?
  20. 发布油耗统计小工具V1.32,非常感谢大家对我的支持

热门文章

  1. 如何构建流量无损的在线应用架构 | 专题开篇
  2. 云网管—云上构建网络自动化体系
  3. 启动、内存、卡顿三大分析,用户体验就用它?
  4. 【人工智能】AI如何把招人效率提高四成
  5. TOP互联网公司都在用,为什么SRE比传统运维更抢手?
  6. 一个多业务、多状态、多操作的交易链路?闲鱼架构这样演进
  7. 共享学习:蚂蚁金服数据孤岛解决方案
  8. ArchSummit分享 | 高德地图App架构演化与实践
  9. 寻找 K8s 1.14 Release 里的“蚌中之珠”
  10. 全新的 Fragment 通信方式