Wyszukiwanie wielu plików po nazwie.

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

Rejestracja: 5 lat temu

Ostatnio: 5 lat temu

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

Rejestracja: 6 lat temu

Ostatnio: 2 miesiące temu

0

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

Pozostało 580 znaków

2015-02-01 03:50

Rejestracja: 5 lat temu

Ostatnio: 5 lat temu

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

Rejestracja: 9 lat temu

Ostatnio: 1 tydzień temu

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

Rejestracja: 11 lat temu

Ostatnio: 7 godzin temu

Lokalizacja: Redmond, WA

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

Rejestracja: 5 lat temu

Ostatnio: 5 lat temu

0

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

Pozostało 580 znaków

Odpowiedz

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