Özyinemeli Fonksiyon Örneği // C programlama

Başlatan sem, 20 Ocak 2011 - 02:14:50

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sem

Bu fonksiyonla ilgili hep verilen örnek; faktoriyel hesabı... Ben örneği bu şekilde vermeyeceğim... Bir dizinin içeriğini elde etmek çok düşündüm düşündüm... İmkansız dedim en son... Sonra biraz daha düşününce gayet basit olduğunu gördüm... Fonksiyon olarak yazdım... İşinize yararsa kullanınız... Fonksiyona sadece ilgili dizini göndermeniz gerekiyor... Tek parametre ile çalışıyor... Çok da fazla üzerinde durulmuş bir kod değil... Hata/Eksik gören paylaşsın düzeltelim...


home içeriğini tarayan kod (parametreyi istediğiniz şekilde değiştirebilirsiniz)
/*
* main.c
*
*  Created on: Jan 20, 2011
*      Author: sem0900
*/

#include <stdio.h>
#include <dirent.h>
#include <stdlib.h>
#include <string.h>

void search_file(char *dir)
{
    int file_count;
    struct dirent **dir_content;

    file_count = scandir(dir, &dir_content, 0, alphasort);

    if (file_count == -1){
    fprintf(stdout,"Dizin elde edilemedi:%s\n", dir);
    exit(EXIT_FAILURE);
    }

    while (file_count--) {
        if (!strcmp(dir_content[file_count]->d_name, ".") || !strcmp(dir_content[file_count]->d_name, "..")) {
            free(dir_content[file_count]);
            continue;
        }
        if(((dir_content[file_count] -> d_type) == DT_DIR)){
                char *s;
                s= (char *)calloc(250, sizeof(char));
                sprintf(s, "%s/%s", dir, dir_content[file_count]->d_name);

                search_file(s);
                free(s);

        }
        else
        fprintf(stdout,"%s\n", dir_content[file_count]->d_name);

        free(dir_content[file_count]);
    }
}


int main()
{
    search_file("/home");
    return 0;
}



Parametre olarak gönderdiğiniz dizinde okuma hakkınızın olması gerekir...

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?