是否可以在不复制文件末尾的情况下插入文件

时间:2013-11-04 13:51:07

标签: c++ winapi

我想插入一个大文件,但我不想复制插入点后面的部分。有没有办法做到这一点(当然受到文件系统的限制)?我在想,文件系统通常是以块和块的形式组织起来的。在2块之间插入一个完整的块应该很便宜。有谁知道在win32系统上是否以及如何做到这一点?

2 个答案:

答案 0 :(得分:0)

简单的答案是否定的。操作系统不支持此功能 像Windows或Unix那样的文件系统,很难 看他们怎么样。物理上,文件确实如此 本身被拆分为分配块,但这些块的大小 块从驱动器到驱动器不同,更不用说从文件中提取 系统到文件系统(你经常有几个不同的 安装文件系统),以及一个功能的实用程序 允许您插入,但只能插入 n 字节的倍数 可能是一个本身就是多个 n 字节的位置 似乎实用性太有限了。并支持 它仍然需要复制,因为包含的块 必须复制指向这些块的指针。

答案 1 :(得分:-1)

您可以截断,附加新数据,附加剩余的旧数据。