处理文件夹中的文件并将结构保留在输出中

时间:2018-06-26 09:45:46

标签: c++ linux c++11 directory subdirectory

我遇到以下问题。我有以下代码:

static void performtask_dir(const char *path) {
    struct dirent *entry;
    DIR *dir = opendir(path);
    if (dir == NULL) {
        return;
    }
    while ((entry = readdir(dir)) != NULL) {
      if (strcmp(entry-> d_name, ".") && strcmp(entry->d_name,".."))
        performTask(std::string(entry->d_name));
        //printf("%s\n",entry->d_name);
    }
    closedir(dir);
}


int main() {
  performtask_dir("./data");
}

在performTask中,我也有类似的内容:

void performTask(...) {
...
file->Export("./output");
...
}

这很好,但是它将所有文档放在输入文件夹中,然后将它们放在输出文件夹中。现在,我有一个带有子文件夹的文件夹,我想做同样的事情,但要保留子文件夹的结构。例如,如果在输入文件夹中我有dir1,dir2和dir3,我希望输出文件夹中有dir1,dir2和dir3(每个都有输出文件)。 有没有简单的方法可以做到这一点? 谢谢!

0 个答案:

没有答案