OVH Cloud OVH Cloud

windows linux macos et balade dans les repertoires

5 réponses
Avatar
3dsman
salut!

j'avais vu a un endroit quelqu'un qui utilisait les fonction _findfirst
et _findnext pour se balader dans les fichiers d'un repertoire quel que
soit l'os.

mais d'un autre cote j'ai lu qu'il n'existait pas de methode multiOS
pour ca!
Les fonctions _findfirst et _findnext sortents d'ou?
c'est pas du c++ standard ?!
qu'en est il de leur utilisation pour du multiOS?
...?

merci!

ps: j'espere avoir posté dans le bon forum :-)

5 réponses

Avatar
Aurélien Barbier-Accary
salut!

j'avais vu a un endroit quelqu'un qui utilisait les fonction _findfirst
et _findnext pour se balader dans les fichiers d'un repertoire quel que
soit l'os.

mais d'un autre cote j'ai lu qu'il n'existait pas de methode multiOS
pour ca!
Les fonctions _findfirst et _findnext sortents d'ou?
c'est pas du c++ standard ?!
qu'en est il de leur utilisation pour du multiOS?
...?

merci!

ps: j'espere avoir posté dans le bon forum :-)


Je ne crois pas qu'il existe de standard C++ pour ça mais si tu utilises QT il y
a des fonctions intégrées.

Aurélien.

Avatar
Anthony Fleury
3dsman wrote:

salut!


Salut,

mais d'un autre cote j'ai lu qu'il n'existait pas de methode multiOS
pour ca!


En effet, la norme n'offre rien à ce propos.

Les fonctions _findfirst et _findnext sortents d'ou?


D'une librairie extérieure et portable sur les systèmes considérés
sûrement ?
Plusieurs font l'affaire, dont boost::filesystem par exemple :

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

--
Anthony Fleury

Avatar
3dsman
3dsman wrote:


salut!



Salut,


mais d'un autre cote j'ai lu qu'il n'existait pas de methode multiOS
pour ca!



En effet, la norme n'offre rien à ce propos.


Les fonctions _findfirst et _findnext sortents d'ou?



D'une librairie extérieure et portable sur les systèmes considérés
sûrement ?
Plusieurs font l'affaire, dont boost::filesystem par exemple :

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


ben en fait j'essaye d'eviter les libs exterieures parceque je profite
de faire mon soft pour comprendre comment ca marche et qu'avec une lib
toute faite j'apprend pas grand chose.
En plus j'ai pas grand chose a faire : lister les fichiers d'un rep,
connaitre les reps de depart (/ pour linux, c:/ d:/ ... pour win) et
changer de rep c'est tout donc ca m'embette un peu d'alourdir mon soft
avec une lib externe enorme (et boost en est une :-))


Avatar
Stan
"3dsman" a écrit dans le message de news:
42d7bf40$0$14994$
ben en fait j'essaye d'eviter les libs exterieures parceque je profite de
faire mon soft pour comprendre comment ca marche et qu'avec une lib toute
faite j'apprend pas grand chose.


Dans ce cas, il vaut mieux que tu te diriges vers un forum
plus adapté ( c'est hors charte ).

En plus j'ai pas grand chose a faire : lister les fichiers d'un rep,
connaitre les reps de depart (/ pour linux, c:/ d:/ ... pour win) et
changer de rep c'est tout donc ca m'embette un peu d'alourdir mon soft
avec une lib externe enorme (et boost en est une :-))


Il n'y a pas de corellation entre la taille de la bibliothèque
et la taille des executables créés avec !


--
-Stan

Avatar
Loïc Joly
D'une librairie extérieure et portable sur les systèmes considérés
sûrement ?
Plusieurs font l'affaire, dont boost::filesystem par exemple :
http://www.boost.org/libs/filesystem/doc/index.htm#tutorial



ben en fait j'essaye d'eviter les libs exterieures parceque je profite
de faire mon soft pour comprendre comment ca marche et qu'avec une lib
toute faite j'apprend pas grand chose.


Même si je suis d'accord sur le principe, en l'occurence, et sauf si tu
veux te diriger vers la programmation d'OS, il ne me semble pas qu'il y
ait grand'chose à comprendre. Sous un OS, c'est un type de fonction,
sous un autre, un autre type, et une bibliothèque permet d'unifier ça
comme s'il s'agissait d'un type unique. Utiliser les fonctions des
bibliothèques que sont les OS directement ne permettra probablement pas
de comprendre quoi que ce soit de plus que d'utiliser les fonctions
d'une bibliothèque externe.

En plus j'ai pas grand chose a faire : lister les fichiers d'un rep,
connaitre les reps de depart (/ pour linux, c:/ d:/ ... pour win) et
changer de rep c'est tout donc ca m'embette un peu d'alourdir mon soft
avec une lib externe enorme (et boost en est une :-))


Il ne s'agit pas d'utiliser tout boost, juste boost::filesystem. Et
puis, je préfère alourdir un programme avec du code fait par d'autre
qu'avec du code fait par moi. C'est bien plus rapide et sur.

--
Loïc