我正在尝试编写一种方法来监视要创建文件的目录。该文件将具有扩展名.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");
}
}
我不习惯提升,但是在几个简单的步骤中,您可以得到想要的东西
步骤1:读取目录(readdir或等效(
步骤2:您将在目录中以const char *
获取所有文件步骤3:获取std :: string而不是const char *
步骤4:filename.find("。完整"(
您得到它:)
我弄清楚了
我从下面的答案中使用了get_all函数,并将其添加到我的程序中如何在给定文件夹中使用特定扩展名的文件列表