等待创建文件

时间:2017-05-04 14:48:47

标签: c++ boost

我试图编写一个方法来监控目录中要创建的文件。此文件的扩展名为.complete。如果不存在,我想等待它出现。当它出现时,我想在扩展名之前找到提取文件的名称,删除.complete文件,进行一些处理,然后返回监听新的.complete文件。

这是我到目前为止所拥有的。我想我只需要帮助提取文件的名称,假设我正确地做了通配符。

while(1) {
    if (!boost::filesystem::exists("/var/test/*.complete")) {
        cout << ".complete file does not exist" << endl;
    }
    else {

        //extract name of .complete file minus extension
        //do my processing
        system("rm *.complete");
    }
}

2 个答案:

答案 0 :(得分:0)

我不习惯提升,但只需几步就可以得到你想要的东西

步骤1:阅读目录(readdir或同等版本)

步骤2:您将把目录中包含的所有文件作为const char *

步骤3:获取std :: string而不是const char *

第4步:fileName.find(“。complete”)

你明白了:)

答案 1 :(得分:0)

我想通了

我使用了以下答案中的get_all函数,并将其添加到我的程序中 How to get list of files with a specific extension in a given folder