gpt4 book ai didi

复制稀疏文件

转载 作者:可可西里 更新时间:2023-11-01 11:46:56 31 4
gpt4 key购买 nike

我正在尝试了解 Linux (UNIX) 低级接口(interface),作为练习,我想编写一段代码,将有漏洞的文件复制到新文件(同样有漏洞)。

所以我的问题是,如何从第一个文件读取到文件的最后而不是第一个洞?如果我没记错的话,read() 在到达第一个洞 (EOF) 时返回 0。

本来想着一个字节一个字节找对的,想把这个字节读出来,但是又得提前知道洞数。

最佳答案

如果 holes 是指稀疏文件,那么您必须 find the holes在输入文件中并使用 lseek 重新创建它们写入输出文件时。从 Linux 3.1 开始,您甚至可以使用 lseek 跳转到洞的开头或结尾,如 man page 中的详细描述。 .

作为 ThiefMaster already pointed out ,正常的文件操作会将空洞简单地视为零字节序列,因此您不会看到您提到的 EOF。

关于复制稀疏文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12299010/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com