Bonjour à tous,
Je suis en train de travailler sur un petit installateur. Et donc pour cela, je veux utiliser une solution portable pour la gestion des fichiers. C'est pourquoi j'ai choisit Boost. Mais j'ai un problème au moment de l'utilisation de copy_file() : il me balance toujours son exception boost::filesystem::basic_filesystem_error.
Voila ce que j'ai écrit :
Code :
- void Installer::copyAllFileThere(const boost::filesystem::path &sourcePath, const boost::filesystem::path &destPath) const {
- using namespace boost::filesystem;
- // vérifie que le chemin spécifié existe
- if(!exists(sourcePath))
- return ;
- // crée éventuellement le répertoire de destination
- if(!exists(destPath))
- create_directory(destPath);
- // itérateur qui désigne la fin des elements du répertoire courant
- directory_iterator end_itr;
- // pour tous les éléments du répertoire courant
- for (directory_iterator itr(sourcePath) ; itr != end_itr; ++itr ) {
- // on regarde si l'élément observé est un répertoire
- if ( is_directory(itr->status()) ) {
- // si c'est le cas on copie récursivement dans ce répertoire
- copyAllFileThere(itr->path(), destPath / itr->path().leaf());
- } else {
- // sinon, il sagit d'un fichier. On copie alors le fichier
- copy_file(itr->path(), destPath/itr->path().leaf());
- }
- }
- }
|
Et donc tout se passe bien, jusqu'au moment où il doit copier un fichier... J'imagine que je dois l'utiliser comme un pied... et dans la doc c'est plutôt sommaire comme explication quant à l'utilisation de cette méthode.
Citation :
template <class Path1, class Path2> void copy_file(const Path1& from_fp, const Path2& to_fp);
Requires: Path1::external_string_type and Path2::external_string_type are the same type.
Effects: The contents and attributes of the file from_fp resolves to are copied to the file to_fp resolves to.
Throws: basic_filesystem_error<Path> if from_fp.empty() || to_fp.empty() ||!exists(from_fp) || !is_regular(from_fp) || exists(to_fp)
|
Donc si quelqu'un aurai une idée ça ne serai pas de refus
Merci
Message édité par Amonchakai le 27-07-2007 à 20:21:29