我希望能够在 C++ 中编辑二进制文件的内容,并删除直到某个字符位置的所有内容,我已经知道,有点像从文件中删除标题。
我有一个示例文件包含 130 万字节,我想删除前 38,400 个字节,然后以原始名称保存文件。
目前,我一直在进行缓冲读取以查找每个文件的位置(剪切文件的规则很复杂,不是简单的搜索),当然,我可以从 pos 进行另一个缓冲读取,输出到一个新文件中,然后进行重命名,或者类似的东西。
但是不得不复制整个文件感觉相当沉重。有什么方法可以让操作系统(仅限 Windows Vista 及更高版本 - 不需要跨平台)重新定位文件的开头,并回收那些 38,400 字节?唉,我找不到办法,所以我为什么要请你帮忙:)
非常感谢您提供的任何帮助。