头文件:

#include <sys/types.h>

#include <unistd.h>

函数原型:

off_t lseek(int fd, off_t offset, int whence);//打开一个文件的下一次读写的开始位置

参数:

fd 表示要操作的文件描述符

offset是相对于whence(基准)的偏移量

whence 可以是SEEK_SET(文件指针开始),SEEK_CUR(文件指针当前位置) ,SEEK_END为文件指针尾

返回值:

文件读写指针距文件开头的字节大小,出错,返回-1

lsee的作用是打开文件下一次读写的开始位置,因此还有以下两个作用

1.拓展文件,不过一定要一次写的操作。迅雷等下载工具在下载文件时候先扩展一个空间,然后再下载的。

2.获取文件大小。

lseek()函数会重新定位被打开文件的位移量,根据参数offset以及whence的组合来决定:

SEEK_SET:从文件头部开始偏移offset个字节。

SEEK_CUR:从文件当前读写的指针位置开始,增加offset个字节的偏移量。

SEEK_END:文件偏移量设置为文件的大小加上偏移量字节。

获取文件大小

#include<stdio.h>

#include<stdlib.h>

#include<sys/types.h>

#include<unistd.h>

#include <sys/stat.h>

#include <fcntl.h>

void main()

{

int fd=open("test.txt",O_RDWR);

if(fd<0)

{

perror("open test.txt");

exit(-1);

}

printf("file size:%d \n",lseek(fd,0,SEEK_END));

close(fd);

}

拓展一个文件,一定要有一次写操作

#include<stdio.h>

#include<stdlib.h>

#include<sys/types.h>

#include<unistd.h>

#include <sys/stat.h>

#include <fcntl.h>

int main(void)

{

int fd=open("test.txt",O_RDWR);

if(fd<0)

{

perror("open test.txt");

exit(-1);

}

lseek(fd,0x1000,SEEK_SET);

write(fd,"a",1);

close(fd);

return 0;

}

lseek()函数的解析相关推荐

  1. linux lseek 指定 文件大小,Linux lseek函数的使用详解

    注:如果文章内容有误,请留言指出,谢谢合作. 名字 Name : lseek - reposition read/write file offset lseek函数的作用是用来重新定位文件读写的位移. ...

  2. lseek函数实现对打开文件的定位

    LSEEK 文章目录 LSEEK lseek函数 lseek函数 lseek函数,定位到打开文件的指定位置处 #include <sys/types.h>#include <unis ...

  3. 语言中拟合函数 计算aic_Go语言函数深度解析(中)

    上回函数深度解析给大家聊了一些函数的基本知识,不知道还有没有人记得,不记得赶紧回去复习! 他们是 go语言中函数的基本原理 单/多个同/不同类型参数 单/多个同/不同类型返回值 值传递,引用传递 函数 ...

  4. linux文件编程(open、write、read、creat、lseek函数)

    文件编程内容比较多,如文件系统原理及访问机制文件在内核中的管理机制,什么是文件信息节点iNode.文件共享.文件权限.各种用户对其权限等等.以下主要记录如何用代码操作文件,实现文件的创建.打开.编辑等 ...

  5. Linux文件I/O编程(二)lseek函数

    文件I/O编程处理open.read.write.close,等必要函数对文件进行读写操作外,lseek.fcntl也是I/O编程很重要的函数. lseek函数 lseek函数主要用来移动当前读写位置 ...

  6. c语言的point函数,C语言中friend友元函数详细解析

    C语言中friend友元函数详细解析 友元函数是可以直接访问类的私有成员的非成员函数.它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字frien ...

  7. php 立即执行函数,关于javascrip的立即执行函数的解析

    这篇文章主要介绍了关于javascrip的t立即执行函数的解析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 概念: 立即执行函数顾名思义就是函数定义好之后立即执行. 函数表达式方式: ...

  8. C++函数重载解析细节

    Copyright(C)<C++从入门到精通-经典完整版> 函数重载解析细节 函数重载解析过程有三个步骤这些步骤可以总结如下: 1 确定为该调用而考虑的候选函数以及函数调用中的实参表属性 ...

  9. 《UNIX环境高级编程》笔记--read函数,write函数,lseek函数

    1.read函数 调用read函数从文件去读数据,函数定义如下: #include <unistd.h> ssize_t read(int filedes, void* buff, siz ...

最新文章

  1. 从源码角度入手实现RecyclerView的Item点击事件
  2. 高级编程学习笔记day01(知识点篇)
  3. linux收发十六进制工具,linux下的十六进制编辑器---wxHexEdit
  4. Python基础概念_3_操作符与表达式
  5. Java摩托车汽车轮胎数量,摩托车轮子上的知识,你知道多少?
  6. mysql 查询数据库名是否存在_SQL查询数据库是否存在
  7. Linux命令详解-mkdir
  8. 实现机器学习的循序渐进指南XII——Apriori
  9. linux文件系统管理实践题目,Linux软件管理、文件系统管理实践
  10. 【EOS】1.环境搭建
  11. mser python车牌识别_HyperLPR车牌识别
  12. STM32程序的烧录方式 与 ISP一键下载
  13. Android调用长截屏,Android实现长截屏功能
  14. 计算机怎么格式化电脑吗,怎么格式化电脑
  15. java json字符串转化为list
  16. java.lang.IllegalStateException: No instances available for user
  17. mysql的my.cnf常用配置
  18. flutter 使用MD5加密
  19. HashMap1.7中的线程安全问题
  20. nlp-生成任务-摘要生成

热门文章

  1. python百度贴吧 发帖时间_python爬取贴吧帖子
  2. 不小心修改linux下/etc/sudoers权限的问题
  3. 网络攻防前期知识储备
  4. 前端自动化构建工具合集之gulp-姜威-专题视频课程
  5. 【情态动词练习题】Can I / We ... ?
  6. 下一代互联网协议:SCTP
  7. 第五章:尺寸处理(1)
  8. 什么是商务标、技术标、经济标
  9. DAX Calculate实战:如何帮助HR妹子整理考勤表
  10. linux 内核 ramdisk,Ramdisk根文件系统启动Linux(单独的ramdisk镜像)