[C++] file / dir handling

Pagina: 1
Acties:

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 15-04 07:15
Ik werk met iso c++ en wil kijken of bijv een dir bestaat, hier wat verwijderen, files copieren ed. Nu kan ik dit met system commando's doen maar dat vind ik niet zo netjes. Is het mogelijk om dat binnen c++ code te houden en dat toch kijk of het een dir is, leesbaar, copieren ed.?

iostream doet niet wat ik wil
Verder is het onder linux

if broken it is, fix it you should


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-04 11:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

als iostream niet doet wat je wilt kan het niet :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • schoene
  • Registratie: Maart 2003
  • Laatst online: 18-04 23:23
Je kan misschien de Boost Filesystem Library gebruiken?

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 15-04 07:15
ja ziet er leuk uit, ben aan het compilen.... (Koffie?)

ik krijg met compilen fouten. Moet er perse gecompiled worde? is er prebuild voor debian oid?

edit:
ik heb een prebuild van de debian site, ook versie 1.33 en tijdens compilen krijg ik:
$ g++ simple_ls.cpp -o l
/tmp/ccpwXV4F.o(.text+0x16): In function `main':
: undefined reference to `boost::filesystem::initial_path()'
/tmp/ccpwXV4F.o(.text+0x3d): In function `main':
: undefined reference to `boost::filesystem::native(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/ccpwXV4F.o(.text+0x54): In function `main':
: undefined reference to `boost::filesystem::path::path[in-charge](char const*, bool (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))'
/tmp/ccpwXV4F.o(.text+0x66): In function `main':
: undefined reference to `boost::filesystem::system_complete(boost::filesystem::path const&)'
/tmp/ccpwXV4F.o(.text+0x10a): In function `main':
: undefined reference to `boost::filesystem::exists(boost::filesystem::path const&)'
/tmp/ccpwXV4F.o(.text+0x124): In function `main':
: undefined reference to `boost::filesystem::path::native_file_string() const'
/tmp/ccpwXV4F.o(.text+0x1a8): In function `main':
: undefined reference to `boost::filesystem::is_directory(boost::filesystem::path const&)'
/tmp/ccpwXV4F.o(.text+0x1c2): In function `main':
: undefined reference to `boost::filesystem::path::native_directory_string() const'
/tmp/ccpwXV4F.o(.text+0x26f): In function `main':
: undefined reference to `boost::filesystem::is_directory(boost::filesystem::path const&)'
/tmp/ccpwXV4F.o(.text+0x298): In function `main':
: undefined reference to `boost::filesystem::path::leaf() const'
/tmp/ccpwXV4F.o(.text+0x317): In function `main':
: undefined reference to `boost::filesystem::path::leaf() const'
/tmp/ccpwXV4F.o(.text+0x3cd): In function `main':
: undefined reference to `boost::filesystem::path::leaf() const'
/tmp/ccpwXV4F.o(.text+0x531): In function `main':
: undefined reference to `boost::filesystem::path::native_file_string() const'
/tmp/ccpwXV4F.o(.gnu.linkonce.t._ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE+0x2b): In function `boost::filesystem::directory_iterator::directory_iterator[in-charge](boost::filesystem::path const&)':
: undefined reference to `boost::filesystem::detail::dir_itr_init(boost::shared_ptr<boost::filesystem::detail::dir_itr_imp>&, boost::filesystem::path const&)'
/tmp/ccpwXV4F.o(.gnu.linkonce.t._ZNK5boost10filesystem18directory_iterator11dereferenceEv+0xd): In function `boost::filesystem::directory_iterator::dereference() const':
: undefined reference to `boost::filesystem::detail::dir_itr_dereference(boost::shared_ptr<boost::filesystem::detail::dir_itr_imp> const&)'
/tmp/ccpwXV4F.o(.gnu.linkonce.t._ZN5boost10filesystem18directory_iterator9incrementEv+0xd): In function `boost::filesystem::directory_iterator::increment()':
: undefined reference to `boost::filesystem::detail::dir_itr_increment(boost::shared_ptr<boost::filesystem::detail::dir_itr_imp>&)'
collect2: ld returned 1 exit status
wat klopt hier niet

[ Voor 95% gewijzigd door elgringo op 09-01-2006 16:41 ]

if broken it is, fix it you should


  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Je compiled simple_ls wel, maar je vergeet deze te linken aan de Boost Filesystem Library :)

hmm, waarom staat er alleen een voorbeeldje van de code, niet de regel van hoe die gecompiled moet worden, ik ken de Boost Filesystem Library verder niet, zou dus zo niet weten welke lib je moet linken om het goed te compilen.
btw:
apt-cache search libboost filesystem
^ geeft bij mij wel een paar default libraries aan, precompiled.

-lboost meegeven als optie aan g++, werkt dat btw?

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 15-04 07:15
Shadowman schreef op maandag 09 januari 2006 @ 16:47:
Je compiled simple_ls wel, maar je vergeet deze te linken aan de Boost Filesystem Library :)

hmm, waarom staat er alleen een voorbeeldje van de code, niet de regel van hoe die gecompiled moet worden, ik ken de Boost Filesystem Library verder niet, zou dus zo niet weten welke lib je moet linken om het goed te compilen.
btw:
apt-cache search libboost filesystem
^ geeft bij mij wel een paar default libraries aan, precompiled.

-lboost meegeven als optie aan g++, werkt dat btw?
compilen zelf volgens handleiding gedaan bjam oid.
Debian libs heb ik geinstalleerd, moet je deze dan ook nog appart meelinken???

if broken it is, fix it you should


  • igmar
  • Registratie: April 2000
  • Laatst online: 27-03 10:55

igmar

ISO20022

elgringo schreef op dinsdag 10 januari 2006 @ 13:55:
compilen zelf volgens handleiding gedaan bjam oid.
Debian libs heb ik geinstalleerd, moet je deze dan ook nog appart meelinken???
Misschien eens handig je te verdiepen in dit soort zaken ? Libraries en het linken ervan is wel een van de meest basic zaken als het om compiled / linkers e.d. gaat.

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 15-04 07:15
Ik heb die debian libs weten te traceren ze staan in /usr/lib en als hem meelink doet ie het
g++ -lboost_filesystem simple_ls.cpp
EDIT:lama; domme actie

[ Voor 21% gewijzigd door elgringo op 10-01-2006 14:34 ]

if broken it is, fix it you should


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-04 11:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1