如何在windows上使用c/c++将几个大文件(总大小~3Tb)连接到一个文件中
我不能复制数据,因为这需要太多时间,所以我不能使用:
- cmd副本
- 将一个文件追加到另一个文件(https://msdn.microsoft.com/en-us/library/windows/desktop/aa363778%28v=vs.85%29.aspx)
- 依此类推(stream::readbuf(),…)
我只需要将几个文件表示为一个文件。
如果这只是在你自己的程序中,那么你可以创建一个类,将文件粘合在一起,这样你就可以阅读它,并将其作为一个单独的文件。
如果你想拥有一个单独的文件。那么不,不可能。这需要打开文件1并附加其他文件。或者创建一个新文件并附加所有文件。C/C++库和windows API都没有连接文件的方法
即使这样的API是可用的,它也会受到限制,因为第一个文件的大小必须是磁盘分配大小的倍数。真的非常低的水平,假设分配规模的倍数得到满足。。。是的,如果你卸载驱动器,物理覆盖文件系统并扰乱文件系统结构,你可以将文件"缝合"在一起,但这对FAT来说是一个挑战,对NTFS来说几乎是不可能的。