确定何时更改单个文件

时间:2013-12-27 10:58:15

标签: c++

我在Windows上使用C ++工作。我有一个文件列表。一些(并非所有)文件都附加了文本(删除/修改永远不会发生)。

我试图找出文件是否已被修改。我计划获取文件大小(通过使用ifstream打开文件,将光标放在最后,并使用tellg)并查看是否更改。我将保留文件名矢量和文件大小矢量,并且我将查看相关文件大小是否发生变化。

有更好或更合适的方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

请考虑检查以下内容:

  1. 修改时间。如果没有改变 - 文件可能没有改变(假设修改时间没有故意改变)。
  2. 文件大小。如果文件大小已更改 - 文件也会更改。
  3. 检查文件的某些部分。例如 - 第一个和最后一个块(取决于文件应该如何更改)。如果它们被更改 - 文件已更改。
  4. 如果上述所有方法都没有帮助,请完整检查文件。
  5. P.S。在Windows上,您可以使用wait functions传递FindFirstChangeNotification function创建的句柄来跟踪文件系统更改。

    希望这有帮助。

    谢谢!