0

我们可以使用 FTW_DEPTH 删除非空目录。但我想删除目录的内容,而不是目录本身,类似于 rm -rf dir/*。

如何使用 nftp/ftw 实现这一点?

4

1 回答 1

1

你可以试试这个(警告,不需要确认):

#include <stdio.h>
#include <ftw.h>
#include <iostream>

using namespace std;
int list(const char *name, const struct stat *status, int type);

int main(int argc, char *argv[])
{
  ftw(argv[1], list, 1);
  return 0;
}

int list(const char *name, const struct stat *status, int type) {
  if(type != FTW_D) {
    cout << "Deleting " << name << endl;
    remove( name );
  }
return 0;
}

并调用您的应用程序:

./main path_to_delete

于 2016-12-04T21:19:25.063 回答