bir klasördeki txt dosyalarının isimlerini okuma

consider
06-12-2017, 15:45   |  #1  
consider avatarı
OP Taze Üye
Teşekkür Sayısı: 0
5 mesaj
Kayıt Tarihi:Kayıt: Ağu 2017

Merhaba arkadaşlar.C kütüphanesinde  belirli bir klasör yolundaki txt dosyalarının isimlerini okuyan bir fonskiyon var mıdır?  

Mesela belli bir dosya yolu vericem "C:\Users\q\Desktop" içindeki bütün txt dosyalarının isimlerini getirecek.Bende bu soncu bir diziye atıp programımın içerisnde kullanıcam.

Örnek vermek gerekirse c# daki https://www.youtube.com/watch?v=TYRkbHcOg3s Path::GetFileName() metodundaki gibi klasör yolundaki dosa isimlerini getirebilmesi gerekiyor.

Son Düzenleme: consider ~ 06 Aralık 2017 17:33 Neden:
Ebabi
18-12-2017, 15:16   |  #2  
Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Ara 2017

/* aşağıdaki gibi kullanabilirsin

#include <dirent.h>

DIR *dirp;
        struct dirent *directory;

if(dirp)
        {
                while((directory=readdir(dirp))!=NULL)
                {
                        if(isText(directory->d_name))  //text dosyası olup olmadığı kontrol ediliyor
                        {
                                newnode.txtdosyasi=directory->d_name; //newnode'un txtdosyasi değişkenine atanıyor
                                aList.add(&newnode); //linked list'e newnode ekleniyor
                                eklenen++;
                        }
                }
                closedir(dirp);
        }

*/

/* bu da text dosyasını bulma metodu

char gecici[100];
        int uzunluk = strlen(textdosya);
        int i;
        for(i=0;i<4;i++)
        {
                gecici=textdosya[uzunluk-4+i];
        }
        if( gecici[0]=='.' && gecici[1]=='t' && gecici[2]=='x' && gecici[3]=='t' ) return true;
        else return false;

*/kısaca uzantısı .txt olan dosyalar için true döndürüyor diğerleri için false döndürüyor


zannediyorum sakarya üni'de okuyorsun ve böyle bir ödeviniz vardı lakin süresi geçti diye biliyorum. en azından bilgi olsun diye yine de yanıtlamak istedim. iyi günler dilerim.

errorno
18-12-2017, 23:19   |  #3  
Taze Üye
Teşekkür Sayısı: 1
16 mesaj
Kayıt Tarihi:Kayıt: Ara 2017
Alıntı: Ebabi  
/* aşağıdaki gibi kullanabilirsin

#include

DIR *dirp;
struct dirent *directory;

if(dirp)
{
while((directory=readdir(dirp))!=NULL)
{
if(isText(directory->d_name)) //text dosyası olup olmadığı kontrol ediliyor
{
newnode.txtdosyasi=directory->d_name; //newnode'un txtdosyasi değişkenine atanıyor
aList.add(&newnode); //linked list'e newnode ekleniyor
eklenen++;
}
}
closedir(dirp);
}

*/

/* bu da text dosyasını bulma metodu

char gecici[100];
int uzunluk = strlen(textdosya);
int i;
for(i=0;i<4;i++)
{
gecici=textdosya[uzunluk-4+i];
}
if( gecici[0]=='.' && gecici[1]=='t' && gecici[2]=='x' && gecici[3]=='t' ) return true;
else return false;

*/kısaca uzantısı .txt olan dosyalar için true döndürüyor diğerleri için false döndürüyor


zannediyorum sakarya üni'de okuyorsun ve böyle bir ödeviniz vardı lakin süresi geçti diye biliyorum. en azından bilgi olsun diye yine de yanıtlamak istedim. iyi günler dilerim.

 Merhaba,

<dirent.h> başlık dosyasını hangi derleyicide kullandığınızın ve hangi dizinde olduğunun bilgisini de verebilir misiniz lütfen ?

Saygılar