Wyszukiwanie wielu plików po nazwie.

Odpowiedz Nowy wątek
2015-02-01 02:50
0

Ta funkcja wypisuje mi wszystkie pliku z folderu:

struct dirent *plik;
    DIR *sciezka;

    if((sciezka=opendir(nazwa_sciezki)))
    {
        while((plik=readdir(sciezka)))  cout<<plik->d_name<<endl;
        closedir(sciezka);
    }
    else cout<<"! wywołując funkcję opendir pojawił się błąd otwarcia strumienia dla danej ścieżki, może nie istnieje, lub podano ścieżkę pustą"<<endl; 

Lecz nie moge jej przerobić by wyszukiwało mi pliku *.txt. Prowałem dodać do liniki, while((plik=readdir(sciezka))) jakiś warunek ale nie działa.

Pozostało 580 znaków

2015-02-01 03:42
0

Przed wypisaniem dodaj sprawdzenie czy plik->d_name się kończy na .txt

Pozostało 580 znaków

2015-02-01 03:50
0

no if(plik->d_name=="*.txt") cout<<plik->d_name<<endl nie działa XD

Pozostało 580 znaków

2015-02-01 05:34
1
int len = strlen(plik->d_name);
if (len >= 4 && !strcmp(&plik->d_name[len - 4], ".txt"))

Natomiast w XXI wieku takie rzeczy robi się tak:

std::regex txt_file(R"(^.*\.txt$)");
if(std::regex_match(plik->d_name, txt_file))
edytowany 2x, ostatnio: ly000, 2015-02-01 05:38

Pozostało 580 znaków

2015-02-01 09:16

czemu z polecenia dir nie skorzystasz tylko swoją apkę od razu piszesz? Jak już chcesz sam pisać apkę to w C# będzie łatwiej bo masz gotowce porobione


░█░█░█░█░█░█░█░█░█░█░█░

Pozostało 580 znaków

2015-02-01 20:12
0

Ok, zgodnie z radą @krwq użyłem dir'a do tego :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0