lseek()函数的头文件和形式:

#include <sys/types.h>
#include <unistd.h>
off_t lseek(int filedes, off_t offset, int whence) ;

lseek()函数的说明:

打开的每个文件都有一个与其相关联的“当前文件位移量”。它是一个非负的整数,用以度量从文件开始处计算的字节数。
通常,读、写操作都从当前文件位移量处开始,并使位移量增加所读或写的字节数。按系统默认,当打开一个文件时,
除非指定O_A P P E N D选择项,否则该位移量被设置为0。

lessk()函数的参数说明:

第一个参数是文件描述符;第二个参数是偏移量,int型的数,正数是向后偏移,负数向前偏移;第三个参数是有三个选项:
1.SEEK_SET:将文件指针偏移到传入字节数处(文件头开始偏移)
2.SEEK_CUR:将文件指针偏移到当前位置加上传入字节数处;((当前位置开始偏移)
3.SEEK_END:将文件指针偏移到文件末尾加上传入字节数处(作为拓展作用,必须再执行一次写操作)

实例代码

#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>/*用lseek函数拓展文件*/
/*int main(){int fd, ret;//打开文件夹fd = open("example.text", O_RDWR);if(fd == -1){perror("open");exit(1);}//查看文件当前的大小ret = lseek(fd, 0, SEEK_END);printf("file value = %d\n", ret);//文件拓展1000字节ret = lseek(fd, 1000, SEEK_END);printf("return value = %d\n", ret);//实现文件拓展,必须再执行一次写操作write(fd, "hello", 6);close(fd);return 0;
}*///将已存在的文件按相反顺序拷贝到另一个文件中
int main(){int fd1, fd2;char ch;//打开已存在文件和新建文件fd1 = open("a.txt", O_RDONLY);fd2 = open("b.txt", O_WRONLY | O_CREAT | O_TRUNC, 0777);lseek(fd1, -1, SEEK_END);//将文件位移量偏移到最后一个字符前read(fd1, &ch, 1);write(fd2, &ch, 1);//循环读取和写入while(lseek(fd1, -2, SEEK_CUR) != -1){read(fd1, &ch, 1);write(fd2, &ch, 1);}close(fd1);close(fd2);
}

Linux文件编程常用函数详解——lseek()函数相关推荐

  1. linux下的arp刷新命令详解,linux arp 命令常用参数详解

    linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...

  2. Linux文件读写改权限详解

    Linux文件读写改权限详解 文件的rwx权限 [ r ] [ w ] [ x ] 该文件可读(read) 该文件可修改(write) 该文件可执行(execute) 注意:只有当该文件所在目录有写权 ...

  3. Python函数详解:函数定义、调用,lambda函数,高阶函数map,filter,reduce,函数式编程,模块化设计、代码复用、函数递归、enumerate()

    一.函数 函数是一段具有特定功能的.可重用的语句组,通过函数名来表示和调用. 函数是一段代码的抽象和封装 函数是一段具有特定功能的.可重用的语句组 函数是一种功能的抽象,表达特定功能 两个作用:降低编 ...

  4. linux 文件打包 tar,[技术]Linux文件打包tar命令详解

    Windows下最常见的压缩文件只有两种:.zip和.rar.可是Linux就不同了,有.Z.bz2..gz..tar..tar.gz等众多的压缩文件名,它们分别对应了各种压缩打包命令.要了解这些压缩 ...

  5. linux文件系统中文件基本权限,Linux文件权限基本属性图文详解

    [概述] 在 Linux 系统中,不同的用户处于不同的地位,拥有不同的权限,为保护系统安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. Linux 系统的每一个文 ...

  6. linux问题排查常用命令详解

    前阵子部署的nginx服务器出现了故障,针对故障现场做了个排查,后来发现是nginx的quic分支代码的问题,出现了死循环导致CPU 近100% 记录下在排查的思路和排查过程中使用的命令和工具 查看C ...

  7. Linux基础(十一)--Linux文件查找命令Find详解

    本文详细介绍了Linux中Find命令的相关知识 在文件系统中,我们常常会去查找某个文件,而在Linux中locate和find都是用于查找文件的. 其中locate命令是非实时查找,它会根据数据库进 ...

  8. linux文件时间属性的详解

    linux文件会有三个时间. stat file 可以查看三个时间 如: Access: 2019-01-26 19:11:10.482357682 +0800 Modify: 2019-01-26 ...

  9. python average函数详解_python 函数详解

    函数函数是代码的一种组织形式 函数应该能完成一项特定的工作,而且一般一个函数只完成一项工作 有些语言,分函数和过程两个概念,通俗解释是,有返回结果的是函数,无返回结果的叫过程,python不加以区分 ...

最新文章

  1. 中科创达孙力:不迷信 AI 算法,智能视觉如何转型升级?
  2. 《系统集成项目管理》第六章 项目整体管理
  3. Java配置信息工具jinfo
  4. 软件测试白皮书-判定表法
  5. Jira 随便总结
  6. 双十一高并发场景背后的数据库RDS技术揭秘
  7. jquery ajax 拒绝访问,拒绝访问IE上的jQuery脚本
  8. 父与子python下载不了_python3-父与子的编程之旅安装pygame出现的问题
  9. 在三维坐标中给出三个点,求三个点所在平面的圆心和圆心坐标
  10. 计算机王码简历,王码五笔字型发明人王永民回首汉字输入这30年
  11. Robo 3T安装及使用
  12. 手机屏幕分辨率说明大全 VGA - hd
  13. 蓝桥杯试题 入门训练 圆的面积
  14. cf1102F. Elongated Matrix(状压dp)
  15. QA问答系统中的深度学习技术实现
  16. CleanMyMac X清理苹果mac特殊的软件授权权限问题如何解决
  17. C++性能优化(十二)——自旋锁
  18. c语言程序电子琴21个音符,儿童电子琴入门《认识附点音符,二分附点音符》
  19. Alibaba内部首发“M8级”500页微服务架构手册,GitHub上杀疯了
  20. c# 远程网络唤醒电脑(电脑远程开机+内网MAC和IP扫描)(附带源码+主板和Windows开启详细说明+外网远程唤醒方案)

热门文章

  1. UTC时间,GMT时间与夏令时冬令时详解
  2. [原创]电信网络限制破解
  3. 【图文】鲲鹏916-ARM64架构源码gcc编译完整记录
  4. 行间距和文本样式的设置
  5. linux 网页 扫描枪,html页面扫描枪的使用
  6. 关于工行验证码识别的一些问题
  7. 计算机打开好多页面,如何设置打开电脑浏览器时同时打开多个网页
  8. SAP FICO - 外币交易(汇率类型/货币交换汇率)
  9. 华为:货币汇率机试题
  10. 开始连载PBOC相关文章了