我有一个 2TB 硬盘,包含单个分区的 FAT32 文件系统。在使用 ftruncate()
将文件截断到更大的大小(例如 100MB 或 200MB)时,执行零填充需要 5 到 10 秒的时间。有没有什么方法可以缩短文件截断时间或不使用零填充来截断文件?
最佳答案
没有。根据 GNU C 库页面,Ftruncate 专门在末尾添加零。它还说你可以尝试只使用截断,它会尝试用空洞来填充它,但这并不是所有机器都支持的,所以你可能无法做到这一点。
您可以尝试通过打开 inode 并更改值使文件系统认为文件更大来破解文件系统,但这是一个安全问题。
关于c - 如何在 C 中不使用零填充截断 FAT32 文件系统中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16299269/