首页 > 其他分享 >lseek函数详解

lseek函数详解

时间:2023-06-27 22:04:11浏览次数:39  
标签:lseek 函数 文件 write 空洞 详解 一段 多线程

1、用lseek计算文件长度

  ret = lseek(fd,0,SEEK_END);返回值是文件指针距离文件开头的偏移量,也就是文件的长度

2、用seek构建空洞文件

  1、空洞文件就是文件中有一段是空的

  2、普通文件中间是不能有空的,因为我们write时文件指针是依次从前向后去移动的,不可能绕过前面的直接到后面

  3、我们打开一个文件后,用lseek往后跳过一段,在write写入一段,就会构成一个空洞文件

  4、空洞文件方法对多线程共同操作文件是极其有用的。有时候我们创建一个很大的文件,如果从头开始依次构建的话,时间会很长。有一种思路就是将文件分为多段,然后用多线程来操作每个线程负责其中一段的写入

标签:lseek,函数,文件,write,空洞,详解,一段,多线程
From: https://www.cnblogs.com/gunancheng/p/17509987.html

相关文章

  • fluent材料物性输入的函数选取
    在定义材料的物理属性时,经常会碰到一些函数需要输入,如果是关于温度的函数那么可以进行定义,如果不是温度的函数,则需要使用UDF进行定义,以黏度为例子说明函数输入:黏度的输入有以下几种情况:constant:恒定值温度的函数①分段线性:不同温度段下对应的函数都是线性的②分段多项式:③......
  • Python | 魔法函数`__iter__`的用法
    下面是找到的一个比较好的科学解释:Python中可迭代对象(Iterable)并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__()方法或__getitem__()方法访问。__iter__方法的作用是让对象可以用for…inobj循环遍历,__getitem__()方法是......
  • Python | 魔法函数`__contains__`的用法
    在python的字符串、列表、元组、结合等对象的时候,经常使用in的方法,一个类的对象能够使用in,就是因为这个类实现了__contains__魔法函数如下面的代码,演示了类的对象使用in的情形classStudent():def__init__(self,name):self.name=namedef__contains__(self......
  • Python | 魔法函数`__str__`的用法
    __str__是Python内置函数,用于将对象转换为字符串表示形式。在Python中,每个类都可以重写__str__方法,以便自定义对象的字符串表示形式。当使用print函数将对象输出到控制台时,Python会自动调用对象的__str__方法,将其转换为字符串并输出到控制台。因此,对于一个自定义的类......
  • Python | 魔法函数`__len__`的用法
    在python的字符串、列表等元素的时候经常使用len()方法计算长度,之所以能够使用len()方法,就是因为它的类实现了__len__魔法函数如:classStudent():def__init__(self,name):self.name=namedef__len__(self):returnlen(self.name)s=Student("Jack......
  • 机器学习 | TF-IDF详解
    什么是TF-IDFTF-IDF是一种常用的文本处理技术,用以评估一个词对于一篇文章或语料库中一篇文章的重要性。TF代表词频(TermFrequency),IDF代表逆文档频率(InverseDocumentFrequency)。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下......
  • C语言【malloc函数】
    malloc函数是C语言中的动态内存分配函数,用于在运行时分配指定大小的内存空间。它的函数原型如下:void*malloc(size_tsize);malloc函数接受一个参数size,表示要分配的内存空间的大小(以字节为单位)。它返回一个指向分配的内存块的指针。如果内存分配失败,则返回NULL。使用m......
  • maven核心,pom.xml详解(转) 附录A mave的依赖范围 附录B maven常用命令集
    什么是pom?   pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:  -包括配置文件;  -开发者需要遵循的规则,  -缺陷管理系统,  -组织和licenses,  -项目的url,  -项目的依赖性,  -以及其他所有的项目相关因素。 快速......
  • 优维低代码实践:数据加工/转化详解
    优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。优维低代码实践连载第⑧期《数据加工/转化详解》▽一、表达式VisualBuild......
  • Go语言中的自定义函数类型
    函数类型的基本概念在Go语言中,函数类型是一种将函数作为值的数据类型。与其他类型一样,函数类型可以被声明、赋值给变量,作为参数传递和作为返回值返回。通过函数类型,我们可以将函数看作一种可执行的对象,对其进行操作和处理。自定义函数类型的语法在Go语言中,我们可以使用type......