Поэтому мне нужна функция, которая получает имя файла и начальный путь и возвращает путь к файлу, если он найден. Я пробовал весь день, но я не могу понять, почему это не работает. Каждый раз, когда он возвращается не удается.
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";
}