C++ 监视c+中的文件更改+;(窗口)

C++ 监视c+中的文件更改+;(窗口),c++,windows,file,monitoring,filesystemwatcher,C++,Windows,File,Monitoring,Filesystemwatcher,我有一组文件,我希望监视它们的更改。 我已经尝试了FileSystemWatcher类,但似乎在文件更改并保存后会触发通知。比方说,若我监视目录中.txt文件的变化,打开一些文件,保存它,FileSystemWatcher工作。但是,当打开文件并键入某些内容而不保存时,如何监视更改?首先读取原始文件,然后在一段时间后读取同一文件,然后比较它们,这似乎既慢又愚蠢。有没有一种很好的方法来监视这种情况?没有,因为文件本身还没有更改。没有,如果您将一个文件读入内存并对其进行修改,另一个应用程序如何知道它

我有一组文件,我希望监视它们的更改。

我已经尝试了FileSystemWatcher类,但似乎在文件更改并保存后会触发通知。比方说,若我监视目录中.txt文件的变化,打开一些文件,保存它,FileSystemWatcher工作。但是,当打开文件并键入某些内容而不保存时,如何监视更改?首先读取原始文件,然后在一段时间后读取同一文件,然后比较它们,这似乎既慢又愚蠢。有没有一种很好的方法来监视这种情况?

没有,因为文件本身还没有更改。

没有,如果您将一个文件读入内存并对其进行修改,另一个应用程序如何知道它?

您将收到的唯一事件是关闭时修改的。@YpsilonIV:您描述的不是文件更改。@YpsilonIV:您不能。如果一个应用程序想读取一个文件并修改它读取的数据,你不会也不可能知道它。@Ypsilon这就是问题所在,你不能处理它。@BenVoigt:Fair point,但是我很确定
FileSystemWatcher
会在调用
FlushFileBuffers()
时通知你(不是在
Close()
)这意味着缓存可能会影响
FileSystemWatcher
事件的及时性。