Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako dobiti listu imena fajlova?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako dobiti listu imena fajlova?

[ Pregleda: 4089 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kish
NS

Član broj: 91320
Poruke: 44
195.252.85.*

ICQ: 204


Profil

icon Kako dobiti listu imena fajlova?28.09.2006. u 13:41 - pre 213 meseci
Kako da dobijem listu imena fajlova koji se nalaze unutar jednog direktorijuma? Npr: Program koji sva imena fajlova sa nastavkom *.mp3 stavlja u listu i snima u poseban fajl...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
89.216.235.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Kako dobiti listu imena fajlova?28.09.2006. u 14:40 - pre 213 meseci
http://www.elitesecurity.org/t176155-0#1145133

 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: Kako dobiti listu imena fajlova?28.09.2006. u 21:06 - pre 213 meseci
Krenuo sam ja malo WinAPI,pa sam pogledao ovaj primjer na koji si ti X-Files
stavio link,ne znam zasto
ali mi ne radi ova linija koda:
Code:
int l = (int)dir.size();

Cini mi se da ne radi jer ipak dir je tipa char a ne string pa se sa njime
ne moze pozvat funkcija size(),zato sam ja napisao ovako:
Code:
#include <windows.h>
#include <vector>
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;

bool FindFiles(const char* dir, const char* ext, vector<string>& ret)
{   
    cout<<"Ovo bi se trebalo ispisat kad se pozove funkcija!!!";
    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    BOOL fFinished = FALSE; 

    ret.clear();
    
   string target = dir;

    int l = target.size();
    if ((dir[l-1] != '\\') || (dir[l-1] != '/')) dir += '/';

    target = target + ext;

    hSearch = FindFirstFile(target.c_str(), &FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 
        return false;

    while (!fFinished) 
    { 
        if (!(FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
            {ret.push_back(FileData.cFileName);}

        if (!FindNextFile(hSearch, &FileData))
            fFinished = TRUE; 
    } 

    FindClose(hSearch);

    return true;
}


int main()
{
vector<string> spisak;
FindFiles("c:/windows/system32","*.dll", spisak);

for(int i=0;i<spisak.size();i++)
  cout<<"Spisak od"<<i<<"je"<<spisak[i]<<"\n";  
  
system("PAUSE");
}


Mislim da je sve ok,sve se ok kompajlira,ali,program odma ispise
"Press any key to continue",stovise cini mi se da program
ne ulazi uopce u funkciju FindFiles() kad je se pozove,ako neko zna sta je problem
neka pls kaze,hvala..

[Ovu poruku je menjao k4rl0 dana 29.09.2006. u 09:51 GMT+1]

[Ovu poruku je menjao k4rl0 dana 29.09.2006. u 09:53 GMT+1]
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: Kako dobiti listu imena fajlova?29.09.2006. u 08:52 - pre 213 meseci
Pls ak neko zna zasto se u gornjem kodu nista ne ispise
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako dobiti listu imena fajlova?

[ Pregleda: 4089 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.