在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅。

函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h

fseek

函数名: fseek

功 能: 重定位流上的文件指针

用 法: int fseek(FILE *stream, long offset, int fromwhere);

描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字     节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值: 成功,返回0,否则返回其他值。

fseek position the file position pointer for the file referenced by stream to the byte location calculated by offset.

程序例:

1 #include

2 long filesize(FILE *stream);3 int main(void)4 {5 FILE *stream;6 stream = fopen("MYFILE.TXT", "w+");7 fprintf(stream, "This is a test");8 printf("Filesize of MYFILE.TXT is %ld bytes\n", filesize(stream));9 fclose(stream);10 return 0;11 }12 long filesize(FILE *stream)13 {14 longcurpos, length;15 curpos =ftell(stream);16 fseek(stream, 0L, SEEK_END);17 length =ftell(stream);18 fseek(stream, curpos, SEEK_SET);19 returnlength;20 }

int fseek( FILE *stream, long offset, int origin );

第一个参数stream为文件指针

第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移

第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

SEEK_SET: 文件开头

SEEK_CUR: 当前位置

SEEK_END: 文件结尾

其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.

简言之:

fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;

fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;

fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。

使用实例:

1 #include

2 #define N 5

3 typedef structstudent {4 longsno;5 char name[10];6 float score[3];7 } STU;8 void fun(char *filename, STU n)9 {10 FILE *fp;11 fp = fopen(filename, "rb+");12 fseek(fp, -1L*sizeof(STU),SEEK_END);13 fwrite(&n, sizeof(STU), 1, fp);14 fclose(fp);15 }16 voidmain()17 {18 STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},19 {10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},20 {10005,"ZhangSan", 95, 80, 88}};21 STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N];22 int i,j; FILE *fp;23 fp = fopen("student.dat", "wb");24 fwrite(t, sizeof(STU), N, fp);25 fclose(fp);26 fp = fopen("student.dat", "rb");27 fread(ss, sizeof(STU), N, fp);28 fclose(fp);29 printf("\nThe original data :\n\n");30 for (j=0; j

java+fseek+函数_函数fseek() 用法(转)相关推荐

  1. 【九】Python全栈之路--文件函数_函数参数

    文章目录 1. 文件相关函数 2. 函数_函数的参数 2.1 函数 2.2 函数的参数 3. 收集参数 4. 命名关键字_总结 4. 小练习 1. 文件相关函数 # ### 刷新缓冲区 "& ...

  2. java.util接口_函数接口– Java 8中java.util.function包中的函数接口

    java.util接口 我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Su ...

  3. Java有没有lower_bound函数_函数 - lower_boundupper_bound

    lower_bound&upper_bound - 二分查找函数 它们是C++自带的函数,用于在有序的数列里进行查找.注意,一定是有序的 它们使用的是二分查找的方法,时间复杂度为O(logn) ...

  4. bzero函数_函数模块 | UDP自动获取本地广播地址

    让技术·去旅行 点击上方蓝字可以关注我们哦 本文以函数形式做笔记,因为函数模块式编程,可以大大提升代码的可读性. 首先来了解ifreq 这个结构体 1.结构定义 struct ifconf { int ...

  5. excel取整数的函数_函数010 EXCEL如何随机打乱数据,不重复随机数来帮忙!

    今天我们继续学习我们函数实战系列!一个不小心,我们已经更新9期了,今天就是第十期!具体讲点啥? 第十期-生成随机不重复数据! 顺势我们把相关的随机函数也学习一下,一举两得! 在EXCEL的中,要生成随 ...

  6. C++_函数_函数重载注意事项_---C++语言工作笔记035

    然后我们再来看一下,函数重载的注意事项. 可以看到上面我们有两个fun名字的函数 但是参数一个是int &a 一个是const int &a; 可以看到这样写,编译没有问题,他们是两个 ...

  7. C++_函数_函数的占位参数_函数重载---C++语言工作笔记034

    然后我们再来看一下函数的占位参数 可以看到上面是实例,实际上,这个占位的参数, 就是占位置的作用.可以看到只写一个数据类型就可以. 那么什么是占位参数呢,其实就是用来占位用的, 上面是一个普通的函数.

  8. 中gcd函数_函数和模块的使用

    没有谁的生活会一直完美,但无论什么时候,都要看着前方,满怀希望就会所向披靡.--<撒野> 一.实现计算求最大公约数和最小公倍数的函数 初版 def gcd(a,b): if a % b = ...

  9. correl函数_函数中的“豪门贵族”【统计函数】

    有些日子没见了,首先祝大家节日快乐,吉祥如意!更新不会停,但是最近确实懈怠了,见谅! 统计函数是Excel中目前数量最多的函数类别,其数量之多,以及作用之广,说是函数界的"豪门贵族" ...

最新文章

  1. openresty url重写
  2. java linux文件夹大小_Linux_Linux文件夹大小查看办法, 1. du -sh查看当前文件 - phpStudy...
  3. 如何学习oracle
  4. 【HM】第11课:JSTL标签+JSP开发模式
  5. 【译】Construction of a Plasma Chain 0x1
  6. python绘制饼图explode_python通过matplotlib生成复合饼图
  7. linux 如何赋值目录,Linux文件系统之目录的建立
  8. 父窗体与子窗体之间的调用-使用模态窗体之间传递多个值
  9. 一次历时两周的实习生笔试
  10. MicroSIP软电话安装配置说明
  11. 远程计算机上不接受445端口,服务器禁止远程445端口
  12. lot物联网场景通用架构分享
  13. 2022最新淘宝天猫商品sku精准库存(sku库存200)
  14. 辩证统一和有机统一的比较
  15. CC13X0CC26X0EvaluationBoard
  16. QT 任务栏图标显示问题
  17. 2022快手春节跳一跳红包到 怎么获得66元红包?
  18. 手机浏览器部分不支持8位rgba色值
  19. Win10系统截图新工具的快捷键
  20. 硬盘问题导致无法开机

热门文章

  1. 云原生引领全云开发时代
  2. Yurt-Tunnel 详解|如何解决 K8s 在云边协同下的运维监控挑战
  3. Cloud Toolkit 部署应用到阿里云轻量应用服务器
  4. Dubbo下一站:Apache顶级项目
  5. 阿里云加入开放媒体联盟AOM
  6. 「深圳云栖大会」大数据时代以及人工智能推动下的阿里云异构计算
  7. Cloudera发布全球企业数据成熟度报告,混合云趋势中有效数据战略是关键
  8. 四大招让无处不在的工作空间成为可能?揭秘Ivanti 的战略布局
  9. 赠书 | IoT 的真正目标是什么
  10. 如何给女朋友解释什么是3PC?