Рекурсивно найти файл пути в каталогах данного пути - PullRequest
0 голосов
/ 28 октября 2019

Поэтому мне нужна функция, которая получает имя файла и начальный путь и возвращает путь к файлу, если он найден. Я пробовал весь день, но я не могу понять, почему это не работает. Каждый раз, когда он возвращается не удается.

char* listFilesRecursively(char *basePath,char file[100])
{
    char path[1000];
    struct dirent *dp;
    DIR *dir = opendir(basePath);
    static char str[100];
    int found=0;
    if (!dir)
        return "fail";

    while ((dp = readdir(dir)) != NULL)
    {
        if (strcmp(dp->d_name, ".") != 0 && strcmp(dp->d_name, "..") != 0)
        {
            if(strcmp(dp->d_name, file)==0){
                strcpy(str, path);
                found=1;
            }
            else{
                strcpy(path, basePath);
                strcat(path, "/");
                strcat(path, dp->d_name);
                listFilesRecursively(path,fisier);
            }
        }
    }
    closedir(dir);
    if (gasit==1)
        return str;
    else
        return "fail";        
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...