我遇到以下问题。我有以下代码:
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(每个都有输出文件)。 有没有简单的方法可以做到这一点? 谢谢!