gpt4 book ai didi

c++ - 如何等待文件存在(并被释放)?

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:41 26 4
gpt4 key购买 nike

是否有一个库具有阻止调用者直到某个文件存在和/或可删除的功能? (最好是在标准 C++ 库或 boost 中。)

背景

我是一个 C++ 新手,正在编写一个需要的单线程应用程序

  1. 在启动时执行一些繁重的计算。
  2. 等待某个输入文件存在(并且可以删除)。
  3. 如果文件中包含某条指令,则删除并退出。
  4. (否则)对其进行处理、删除并生成输出文件。
  5. 从第 2 步开始重复。

之所以有步骤 2、3 和 5(而不只是步骤 1 和 4 并按需调用应用程序)是因为步骤 1 涉及一些繁重的处理。

我不想在第 2 步中花费大量处理器时间忙于等待,但我也不希望通过不频繁地轮询文件是否存在来引入不必要的延迟。

这里正确的方法是什么? (最好是跨平台:Windows、Linux、OSX。)

最佳答案

有一个抽象的Asio服务

  • Win32 文件监控 API
  • inotify 在 Linux 上(和 friend ?)

在网络上四处飘荡。它尚未被 Boost 接受,尽管一些讨论正在将它包含在 Boost Asio(异步 IO 的库)中

找到这个,这可能会帮助你找到它:

关于c++ - 如何等待文件存在(并被释放)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33531614/

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