gpt4 book ai didi

能否用C知道运行时是否对磁盘进行了文件操作?

转载 作者:太空宇宙 更新时间:2023-11-04 06:44:46 24 4
gpt4 key购买 nike

我可以使用 C 知道运行时是否在磁盘上执行了文件操作(以及在何处执行)吗?

最佳答案

您问题的答案取决于您的意思。如果您问是否可以检测磁盘上的物理操作(查找、读取或写入),答案是否定的。磁盘具有磁盘缓存,可以以性能的名义对您隐藏这些操作。您可以使用上述机制知道何时更改缓存,但不能知道何时执行物理操作。

这就是我们拥有日志文件系统的原因。然而,即使使用日志记录,如果发生灾难性故障并且无法保存缓存,也有可能导致实际数据丢失。

上述方法中,我使用了FileSystemWatcher,效果很好。您可以选择您感兴趣的事件通知,您的程序将在文件事件发生时收到程序事件。

请注意,至少在 Windows/C# 下,事件会在单独的线程中发生,因此您必须使用委托(delegate)向主(或其他)线程发出事件已发生的信号。

关于能否用C知道运行时是否对磁盘进行了文件操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1960993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com