有没有办法读取文件的数据,但在文件末尾继续读取硬盘上的数据?对于普通文件 I/OI 可以只使用 fread(),但显然,它只会读取到文件末尾。如果我补充说我需要在 Windows 计算机上使用它可能会有所帮助。
我所有的谷歌搜索都是为了找到与 EOF 无关的主题的结果,例如人们遇到正常 I/O 的问题。
我的理由是,我不小心删除了我正在处理的文本文件中的部分文本,而这是一整天的工作。我用谷歌搜索了一堆文件恢复的东西,但似乎都是关于恢复已删除的文件,我的问题是文件仍然存在但没有它的一些信息,我希望其中一些数据仍然直接存在在当前标记的文件结尾之后,既不会在其他地方分段,也不会被声明或以其他方式覆盖。由于我找不到专门帮助解决此问题的程序,我希望我能迅速弥补它(我理解,根据所涉及的内容,这可能不像重做工作那样可行,但是我希望情况并非如此)。
据我所知,虽然我可能不正确(不确定,这就是我寻求帮助的原因),但有 3 种可能性。
三者中最糟糕的:我必须查找允许直接访问整个硬盘驱动器的 Windows API 函数(可能类似于它的内存函数?我有经验的那些)并扫描整个事物以获取我仍然拥有的数据从文件中访问,然后继续查看它之后的内容。
第二:我可以获得指向文件的指针,然后我仍然必须获得对 HD 的原始访问权限,但至少有一个指向文件的指针?
三者中的佼佼者:只需打开文件进行写访问,搜索到最后,然后通过 EOF 写一条方法以获取更多空间,但首先希望 Windows 在将数据交给我之前不会清理数据,以便我获取垃圾数据,这是该位置的先前数据,实际上是我正在寻找的数据?如果它那么简单,那就太棒了,但我不敢测试它,因为如果它失败我会丢失数据,所以希望其他人已经知道了。如果这对了解 Windows 血腥细节的人来说很重要,那么有问题的 PC 正在运行 Vista Home Premium。
这三个中的任何一个看起来都合理吗?无论是或否,我也乐于接受(并且渴望)其他建议,尤其是那些比我愚蠢的想法更好的建议,尤其是如果它们带有用于完成工作的特定功能的方向。
此外,如果其他人真的听说过一个恢复程序,它不仅可以恢复已删除的文件,而且实际上可以在这种情况下工作,而且它是免费且值得信赖的,那也可以。
提前感谢您的任何帮助。