[ Mirko Rajkovača @ 29.06.2007. 22:27 ] @
Ovako problem je sledeci, treba da napisem program koji ce da izlista sve fajlove odredjenog tipa u nekom folderu i prikaze neke pojedinosti vezane za te fajlove, program mora biti gcc kompatibilan, znaci da se kompajlira i pod linuksom i windowsom.
E sad kako da uradim taj deo za izlistavanje sadrzaja nekog foldera, da li postoji neki cross platform nacin, ako ne postoji koji mi je najlaksi nacin da ovo uradim pod linuksom i pod windowsom(znam FindFile itd ali mozda neko ima bolju ideju)

Hvala unapred
[ kiklop74 @ 30.06.2007. 02:31 ] @
Nema portabilnog resenja. Moras da napises jednu POSIX verziju i jednu windows verziju. Za windows koristis API findfirst itd. a za linux posix funkcije u hederu dirent.h

Videti:
http://opengroup.org/onlinepubs/007908799/xsh/dirent.h.html

Ako ti je do neke gotove STL implementacije sa iteratorima pogledati ovde:

http://synesis.com.au/software...____library____filesystem.html

[ cpp-programer @ 01.07.2007. 17:10 ] @
Ovo bi trebalo da je portabilno rjesenje

http://www.boost.org/libs/filesystem/doc/index.htm


Pozdrav
[ idb @ 03.07.2007. 13:50 ] @
wxWidgets bi mogao posluziti, vidi ovde:
http://www.wxwidgets.org/manua...wx_wxdir.html#wxdirgetallfiles

wxDir::GetAllFiles
static size_t GetAllFiles(const wxString& dirname, wxArrayString *files, const wxString& filespec = wxEmptyString, int flags = wxDIR_DEFAULT)


The function appends the names of all the files under directory dirname to the array files (note that its old content is preserved). Only files matching the filespec are taken, with empty spec matching all the files.

The flags parameter should always include wxDIR_FILES or the array would be unchanged and should include wxDIR_DIRS flag to recurse into subdirectories (both flags are included in the value by default).

... ali je wxWidgets veoma obiman ...
[ Mirko Rajkovača @ 03.07.2007. 14:16 ] @
Hvala vam svima, ipak sam se odlucio za najjednostavnije resenje (dirent.h hvala kiklop), napravio sam dva tela okruzena sa #ifdef/#else/#endif direktivama, jedno za win (FindFile) drugo za linuks (scandir) i to je to.

Pozdrav