[ IDE @ 18.05.2005. 15:57 ] @
ima li koja naredba pomocu koje bi (slicno kao kod batch fajlova dir > ime_fajla.txt)
u C++-u ucitao sadrzaj nekog direktorijuma (mozda i sa poddirektorijumima) u svoju aplikaciju.
uzmimo npr richedit ili memo komponentu u borlandu,ili obicnu konzolnu aplikaciju.... i zelimo da nam se u nju ucita citav sadrzaj C diska...,kako bi mogli to odraditi??
x files mi je jednom ovo pomenuo, ali ja sam bezuspjesno trazio takvu naredbu...
[ X Files @ 18.05.2005. 16:38 ] @
Ne postoji *jedna* funkcija (sem ako je sam ne napravis) koja uzima sve
foldere i sub-foldere u odnosu na neki referentni. To mora da se isprogramira.

I sam znas da bi uzimanje svih foldera i sub-foldera bio *proces* a ne trenutan
rezultat, zato je najbolje da kazes šta ti tačno treba...

U Borlandu imas FindFirst() FindNext() funkcije koje obavezno potraži u BCB Helpu,
a ima i primera...

[ yooyo @ 18.05.2005. 17:44 ] @
Probaj sa ovim:

Code:

void FindFiles(const char* dir, const char* ext, std::vector<std::string>& ret)
{
    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    BOOL fFinished = FALSE; 

    std::string target = dir;
    target = target + ext;

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

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

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

    FindClose(hSearch);
 }

primer:

std::vector<std::string> files;
FindFiles("d:\Temp\Test\", "*.txt", files);

Obavezan backslash (\) u imenu dir-a.


yooyo
[ IDE @ 20.05.2005. 17:20 ] @
hvala, pogledacu i razmisliti o tome sta ste mi napisali i rekli...
pa trebalo mi je ovo npr:

napisimo jedan batch fajl:

c:
dir /s > d:\folder1\ime_fajla.doc /w

znaci zelimo sadrzaj c diska sa svim subfolderima da ucitamo u ime_fajla.doc.

e ja bih zelio da taj c disk sa svim subfolderima ucitam u Memo ili RichEdit npr.(naravno samo imena fajlova koji se nalaze na c disku)
i da tako dobijem tekst koji se zapravo sastoji od imena fajlova...