lseek函数详解

发布时间 2023-06-27 21:48:05作者: 风中凌乱的猪头

1、用lseek计算文件长度

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

2、用seek构建空洞文件

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

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

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

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