Oui j'ai pensé à regarder du coté de ifstream (que j'utilise déjà dans mon code) mais je voulais savoir s'il y avait une méthode propre pour tester avant de me lancer dans le code direct.
Donc ne le fait pas en C++ :)
Sinon tu peux toujours appeller des fonctions classiques du genre stat() et S_ISDIR(), c'est standard et c'est du POSIX ou utiliser les abstractions filesystem d'une de tes bibliothèques C++ (Qt, Glibmm, Boost, ...).
la librairie est proposé comme standard c++ pour la révision TR2.
la portabilité est plutôt grande, ça supporte normalement tous les systèmes connues à ce jour même ceux ou les répertoires sont identifiés par un path du genre : "mydir::myfile" ... et permet d'y accéder en utilisant la syntaxe POSIX en faisant "mydir/myfile" ou en utilisant la syntaxe native du système...
# hmmm...
Posté par NeoX . Évalué à 1.
comme tout est fichier, un simple
[test -d ton_dossier]
aurait suffit.
google semble dire qu'en C++ il faut tenter d'ouvrir le fichier pour savoir s'il existe ou pas.
cela doit etre pareil pour un dossier.
il se baserait sur une lib "std::ifstream"
[^] # Re: hmmm...
Posté par Maxime (site web personnel) . Évalué à 1.
# libc
Posté par Émilien Tlapale . Évalué à 2.
Donc ne le fait pas en C++ :)
Sinon tu peux toujours appeller des fonctions classiques du genre stat() et S_ISDIR(), c'est standard et c'est du POSIX ou utiliser les abstractions filesystem d'une de tes bibliothèques C++ (Qt, Glibmm, Boost, ...).
[^] # Re: libc
Posté par ecyrbe . Évalué à 4.
utilise la librairie boost : http://www.boost.org/libs/filesystem/doc/index.htm
la librairie est proposé comme standard c++ pour la révision TR2.
la portabilité est plutôt grande, ça supporte normalement tous les systèmes connues à ce jour même ceux ou les répertoires sont identifiés par un path du genre : "mydir::myfile" ... et permet d'y accéder en utilisant la syntaxe POSIX en faisant "mydir/myfile" ou en utilisant la syntaxe native du système...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.