c++ - 在 C++ 中,我想创建一个循环,不断检查文件的大小,并在大小发生变化时执行某些操作

标签 c++ loops file-io

我正在尝试制作一个程序,它会不断检查文件的大小,如果文件的大小发生变化,则让程序执行某些操作。该文件是一个 html 文件,因此另一种方法是不断检查它的来源,如果字符数发生变化,请执行某些操作。

我想我可以毫不费力地做到这一点,但我遇到的问题是不断检查文件。有没有可以做到这一点的功能?我希望它每 10 秒检查一次。

编辑:操作系统是Windows 7 64位

最佳答案

对于 Windows,您可以使用 File Change Notification API并让操作系统在您正在观看的项目发生变化时调用您。在此之前,您的线程可以休眠。

与设置无限轮询循环相比,让操作系统调用您更受欢迎。如果您在没有任何 sleep 的情况下运行轮询循环,您会将 CPU 固定在 100% 的利用率,强制风扇旋转以消除多余的热量,并在 5 分钟内耗尽笔记本电脑的电池。 ;>

关于c++ - 在 C++ 中,我想创建一个循环,不断检查文件的大小,并在大小发生变化时执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201219/

相关文章:

c - 关闭返回值检查

java - 帮助解决 java I/O 问题

bash - 在 Bash 中一次循环两个变量

c++ 基于键盘输入的退出循环

android - 在 Eclipse 中查看变量时 gdb 进程崩溃

c++ - cuda 内存分配 cudaMalloc

python - 我正在从具有重复值的文件中创建字典。如何防止循环覆盖现有值?

C结构读/写垃圾值到文件

c++ - 如何防止 iostreams::mapped_file_sink 创建可执行的 txt 文件

C++编译clang错误多个输出文件