假设我们的目的是在运行Linux的嵌入式设备上创建一个带有大洞的文件,我们将在稍后编写.我们打开文件,获取文件描述符并调用lseek
它来寻找某个已知位置.之后,当我们想要在搜索到的位置写入该文件时,我们会调用write
它.
但是,在第一次写入时,通过搜索创建的孔变为零填充,如果孔足够大,则此操作可能需要一些时间.在我的应用程序中,不需要这个零初始化,因为这个孔的长度非常精确,我稍后会用我的数据填充它.
有没有办法避免在填零write
后进行第一次调用seek
(即使它涉及修改文件系统驱动程序)?或者,有没有办法在文件开头之前写入文件(附加到文件的前面)?