目录

一、fseek函数讲解

二、fseek函数实战


一、fseek函数讲解

重定向文件内部的指针

注:光标 ---- 文件内部的指针

函数原型:

int fseek(FILE *stream,long offset,int framewhere)
  • 参数:

    • stream:文件指针
    • offset:指针的偏移量
    • framewhere:指针偏移起始位置
  • 返回值:重定位成功返回0,否则返回非零

需要注意的是该函数不是重定位文件指针,而是重定位文件内部的指针,让指向文件内部数据的指针移到文件中我们感兴趣的数据上,重定位主要是这个目的。

说明:执行成功,则stream指向fromwhere为基准,偏移offset个字节的位置。执行失败(比方说offset偏移的位置超出了文件大小),则保留原来的stream的位置不变

分别用3个宏:

  • SEEK_SET 即0 文件开头
  • SEEK_CUR 即1 文件当前位置
  • SEEK_END 即2 文件末尾

但不推荐用数字,最好用宏,简言之:

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

二、fseek函数实战

  1. 执行流程
  2. 代码内容

源代码:

#include <stdio.h>
#include <string.h>
int main()
{FILE *fp = NULL;int nRet = 0;char readBuff[12];memset(readBuff,0,12);char* writeBuff = "hello world!";fp = fopen("mm","r+");//r+if(fp == NULL){printf("open failed!\n");return -1;}printf("open success1\n");nRet = fread(readBuff,4,2,fp);if(nRet <= 0){printf("fread failed!\n");return -3;}printf("read %s\n",readBuff);nRet = fseek(fp,1,SEEK_SET);if(nRet != 0){printf("fseek failed!");return -4;}printf("fseek succeess!\n");nRet = fwrite(writeBuff,4,1,fp);if(nRet <= 0){printf("fwrite failed!");return -4;}printf("fwrite success!\n");nRet = fclose(fp);if(nRet != 0){printf("close failed!\n");return -2;}printf("close success1\n");return 0;
}

十二、Linux文件 - fseek函数讲解相关推荐

  1. 十、Linux文件 - fread函数讲解

    目录 1.fread函数讲解 2.fread函数实战 1.fread函数讲解 从文件中读入数据到指定的地址中 函数原型: size_t fread(void*buff , size_t size, s ...

  2. Helm 3 完整教程(十二):Helm 函数讲解(6)字典函数

    推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...

  3. 第十二章 SQL聚合函数 VARIANCE, VAR_SAMP, VAR_POP

    文章目录 第十二章 SQL聚合函数 VARIANCE, VAR_SAMP, VAR_POP 大纲 参数 描述 当前事务期间所做的更改 示例 第十二章 SQL聚合函数 VARIANCE, VAR_SAM ...

  4. c语言压缩文本文件北京理工大学,北京理工大学C语言程序设计第十二章文件.ppt...

    北京理工大学C语言程序设计第十二章文件 2000年1月25日 北京理工大学 / 第十二章 文件 第一节 文件概述 第二节 文件的处理 第三节 文件的顺序读写操作 第四节 文件的随机读写操作 第五节 文 ...

  5. Linux 高并发学习笔记 - Linux 文件操作函数

    1.6.2 Linux 文件操作函数 Linux 高并发学习笔记 - 笔记索引 前言 关于文件操作函数这一块主要用英文文档的形势书写,因为凉皮在写文档的时候发现Markdown用起来太繁琐了.那么关于 ...

  6. 直接读取ftp服务器文件,如何在ftp服务器上只读取十二个文件?

    如何只读取12个文件导致我只读取ftp 服务器中的所有文件,每4分钟文件添加一个新文件.如何在ftp服务器上只读取十二个文件? 感谢您的帮助,我是初学者在API编程:) if(files.length ...

  7. splice php,浅谈PHP源码二十二:关于array_splice函数

    这篇文章主要介绍了关于 浅谈PHP源码二十二:关于array_splice函数,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 浅谈PHP源码二十二:关于array_splice函数 a ...

  8. Linux高级应用(二)文件IO函数与液晶屏显示

    一.结构体占用的内存 struct test { char a; int b; short c; long d; char *p; }; 求该结构体占用的内存?sizeof(struct test) ...

  9. linux文件操作函数程序,linux 文件操作函数

    文件操作(Linux) 常用linux函数库中的基本函数 1. close函数,关闭文件 2. creat函数,建立文件 3. dup.dup2函数,复制文件描述词 4. fcntl函数,文件描述词操 ...

最新文章

  1. flume bucketpath的bug一例
  2. python time智能等待_python中等待怎么表示
  3. Eclipse无法找到Java EE Tools选项问题解决方案
  4. Swif语法基础 要点归纳(一)
  5. 开发辅助 | 阿里图标库iconfont入门使用
  6. Linux 终端(TTY)
  7. Linux 源码安装 Python3 和 pip3
  8. jq获取表格里的checkbox_Python抓取网页表格(一)
  9. python做的游戏可以导出吗_Python视频教程
  10. python中bar函数的用法_Python:如何在函数中使用progressbar
  11. python基础之进程、线程、协程篇
  12. Pro Git读书笔记 - 分支
  13. 字典攻击ssh弱口令
  14. QQ群统一规范与守则
  15. 进销存excel_干货分享,上班族必看。EXCEL轻松搞定制作进销存报表
  16. 小米路由器mini无线连接HP1010打印机
  17. VBS教程 创建文件夹
  18. SQL编程:外键约束
  19. 电脑开的热定手机连不上解决方法
  20. excel函数去重_Excel 2010中去除重复项的几种常用技巧

热门文章

  1. openlayer 利用overlay实现动画效果
  2. 龙珠计划-机器学习-day03-基于LightGBM的分类预测
  3. 华为基站服务器芯片,华为发布5G基站核心芯片“天罡”
  4. 6招深入进行 Cocos 卡牌游戏优化!《新斗罗大陆》研发团队经验分享
  5. Activity的初级,中级,高级问法,android开发艺术探索电子
  6. 关系型数据库有什么?
  7. 游戏行业的“游戏盾”有什么作用?
  8. 屏幕录像后的视频文件,如何压缩变小?
  9. 凹凸世界搬运工机器人图片_凹凸世界超级机器人大战怎么过
  10. 修改app绕过模拟器检测_双平台直连绕过手游检测机制,莱仕达P30手柄实测