ファイルのツリー構造を検索するためのこの再帰関数があります。そして、各ファイルのパラメーター (タイプ、所有者、グループ、権限、作成日、最終変更日など) を見つける必要があります。
void search(const char * path)
{
char newpath[PATH_SIZE + 1];
DIR * dp;
struct dirent * ep;
dp = opendir(path);
if (dp == NULL)
return;
while ((ep = readdir(dp)) != NULL)
{
if (strcmp(".", ep->d_name) == 0 ||
strcmp("..", ep->d_name) == 0)
{
continue;
}
printf("%s/%s\n", path, ep->d_name);
if ((ep->d_type & DT_DIR) == DT_DIR)
{
if (strlen(path) + strlen(ep->d_name) + 1 <= PATH_SIZE)
{
sprintf(newpath, "%s/%s", path, ep->d_name);
search(newpath);
}
}
}
closedir(dp);
return;
}
ファイルのタイプ (ep-> d_type) しか知りません。