 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
oxidor trucidel Guest
|
Posted: Fri Aug 13, 2004 2:06 pm Post subject: lire le contenu d'un répertoire en C++ |
|
|
Salut,
Je débute en c++, uniquement avec les ressources du net, et
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
J'ai cherché sans succès avec google et suis encore occuper
à fouiller les archives de cppfrance.com.
--
Oxidor Trucidel
|
|
| Back to top |
|
 |
Christophe de VIENNE Guest
|
Posted: Fri Aug 13, 2004 2:09 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
oxidor trucidel wrote:
| Quote: | Salut,
Je débute en c++, uniquement avec les ressources du net, et
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
|
Il n'y a pas de solution standard C++ car la notion de répertoire n'y
existe pas.
La réponse dépend en fait de ton système d'exploitation (et il faut
poser la question sur un forum dédié à ce dernier, par exemple
fr.comp.os.ms-windows.programmation).
Néammoins il existe des bibliothèques qui proposent une API portable
pour l'accès aux dossiers.
Entre autres, http://www.boost.org/libs/filesystem/doc/index.htm.
A+
Christophe
--
Christophe de Vienne
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
|
| Back to top |
|
 |
Arnaud Debaene Guest
|
Posted: Fri Aug 13, 2004 2:16 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
oxidor trucidel wrote:
| Quote: | Salut,
Je débute en c++, uniquement avec les ressources du net, et
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
J'ai cherché sans succès avec google et suis encore occuper
à fouiller les archives de cppfrance.com.
|
Il n'y a pas de solution standard pour çà en C++ : ca dépend de ton OS.
Il y a bien une "tentative" de normalisation avec la librairie filesystem de
boost ([url]www.boost.org)[/url], mais c'est exagérément complexe par rapport à ton
besoin, et ca fait surtout appel à des conepts avancés que tu ne dois pas
encore maîtriser si tu débutes. Je te conseilles dans un 1er temps
d'utiliser la solution spécifique à ton OS, càd à reposer ta question sur un
groupe dédié à la programmation sur ton OS.
Arnaud
|
|
| Back to top |
|
 |
oxidor trucidel Guest
|
Posted: Fri Aug 13, 2004 3:23 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
"Christophe de VIENNE" <cdevienne (AT) alphacent (DOT) com> a écrit:
| Quote: | oxidor trucidel wrote:
Salut,
Je débute en c++, uniquement avec les ressources du net, et
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
Il n'y a pas de solution standard C++ car la notion de répertoire n'y
existe pas.
La réponse dépend en fait de ton système d'exploitation (et il faut
poser la question sur un forum dédié à ce dernier, par exemple
fr.comp.os.ms-windows.programmation).
|
Bin, je programme plutot linux, mais j'aurais préféré une solution qui
conviennent quel que soit le système d'exploitation
Je vais jeter un coup d'oeil dessus...
Merci beaucoup.
--
Oxidor Trucidel
|
|
| Back to top |
|
 |
oxidor trucidel Guest
|
Posted: Fri Aug 13, 2004 3:25 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit:
| Quote: | "oxidor trucidel" <oxidor (AT) uf (DOT) net> writes:
Salut,
Je débute en c++, uniquement avec les ressources du net, et
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
J'ai cherché sans succès avec google
C'est quoi ta requete? J'ai 69 reponses avec
contenu d'un repertoire group:fr.comp.lang.c++
sur http://www.google.com/groups.
|
C'était une recherche sur le web "en général" (et non sur les newsgroup),
mais je vais réessayer.
--
Oxidor Trucidel
|
|
| Back to top |
|
 |
oxidor trucidel Guest
|
Posted: Fri Aug 13, 2004 3:28 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
"Arnaud Debaene" <adebaene (AT) club-internet (DOT) fr> a écrit
| Quote: | oxidor trucidel wrote:
Salut,
Je débute en c++, uniquement avec les ressources du net, et
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
J'ai cherché sans succès avec google et suis encore occuper
à fouiller les archives de cppfrance.com.
Il n'y a pas de solution standard pour çà en C++ : ca dépend de ton OS.
Il y a bien une "tentative" de normalisation avec la librairie filesystem
de
boost ([url]www.boost.org)[/url], mais c'est exagérément complexe par rapport à ton
besoin, et ca fait surtout appel à des conepts avancés que tu ne dois pas
encore maîtriser si tu débutes. Je te conseilles dans un 1er temps
d'utiliser la solution spécifique à ton OS, càd à reposer ta question sur
un
groupe dédié à la programmation sur ton OS.
|
Je vais jeter un coup d'oeil à cette tentative... mais si ça me semble
effectivement
trop compliqué, je reviendrai à une solution plus simple.
Le but final de l'opération est, tout simplement, de sauvegarder des données
et
de lire le répertoire pour vérifier si des données s'y trouvent déjà.
--
Oxidor Trucidel
|
|
| Back to top |
|
 |
Cyrille Karmann Guest
|
Posted: Fri Aug 13, 2004 3:45 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
"oxidor trucidel" <oxidor (AT) uf (DOT) net> disait:
| Quote: | "Christophe de VIENNE" <cdevienne (AT) alphacent (DOT) com> a écrit:
Néammoins il existe des bibliothèques qui proposent une API portable
pour l'accès aux dossiers.
Entre autres, http://www.boost.org/libs/filesystem/doc/index.htm.
Je vais jeter un coup d'oeil dessus...
Merci beaucoup.
|
wxWidgets (anciennement wxWindows) a aussi un truc du genre:
http://www.wxwindows.org/manuals/2.4.2/wx112.htm#wxdir
--
Cyrille
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Fri Aug 13, 2004 3:48 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
oxidor trucidel wrote:
| Quote: | je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
[...]
Le but final de l'opération est, tout simplement, de sauvegarder des données
et
de lire le répertoire pour vérifier si des données s'y trouvent déjà.
|
Dans ce cas là, le plus simple n'est pas de lire le répertoire, mais
simplement de relire le fichier. Déjà, si on vérifie le type de retour
de close, on doit être pas mal.
int main()
{
ofstream os("PersoDD3.5.txt");
os << "Level 25" << endl;
if (!os.close())
{
cout << "Erreur de sauvegarde" << endl;
}
}
Par contre, comme l'OS peut cacher des informations en faisant croire
que le fichier est sur disque, ni ta méthode ni la mienne n'offrent une
sécurité absolue.
--
Loïc
|
|
| Back to top |
|
 |
oxidor trucidel Guest
|
Posted: Fri Aug 13, 2004 4:10 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
"Loïc Joly" <loic.actarus.joly (AT) wanadoo (DOT) fr> a écrit
| Quote: | oxidor trucidel wrote:
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
|
[...]
| Quote: | Le but final de l'opération est, tout simplement, de sauvegarder
des donnée et de lire le répertoire pour vérifier si des données
s'y trouvent déjà.
Dans ce cas là, le plus simple n'est pas de lire le répertoire, mais
simplement de relire le fichier. Déjà, si on vérifie le type de retour
de close, on doit être pas mal.
int main()
{
ofstream os("PersoDD3.5.txt");
os << "Level 25" << endl;
if (!os.close())
{
cout << "Erreur de sauvegarde" << endl;
}
}
|
DD3.5 ? Non, je suis encore à DD3.0
ok, c'est effectivement plus simple... mais si le programme au départ
n'a pas le nom complet des fichiers recherchés ?
Comme solution provisoire, je pense mettre à jour un fichier qui liste
toutes les sauvegardes.
| Quote: | Par contre, comme l'OS peut cacher des informations en faisant croire
que le fichier est sur disque, ni ta méthode ni la mienne n'offrent une
sécurité absolue.
|
Ah, certains OS sont plus cachotiers que d'autres.
--
Oxidor Trucidel
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Fri Aug 13, 2004 4:19 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
| Quote: | ofstream os("PersoDD3.5.txt");
os << "Level 25" << endl;
if (!os.close())
{
cout << "Erreur de sauvegarde" << endl;
}
|
Il me semblait que std::basic_ofstream<>::close() ne retournait pas
de valeur. Ne doit-on pas plutôt utiliser :
if ( ! os.rdbuf()->close() ) {
// erreur
}
?
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
|
|
| Back to top |
|
 |
Christophe de VIENNE Guest
|
Posted: Fri Aug 13, 2004 4:23 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
Loïc Joly wrote:
| Quote: | oxidor trucidel wrote:
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
[...]
Le but final de l'opération est, tout simplement, de sauvegarder des
données
et
de lire le répertoire pour vérifier si des données s'y trouvent déjà.
|
[...]
| Quote: | Par contre, comme l'OS peut cacher des informations en faisant croire
que le fichier est sur disque, ni ta méthode ni la mienne n'offrent une
sécurité absolue.
|
Heu, je ne crois pas que cela dérange l'OP. L'info qu'il cherche n'est
pas : "mes données sont-elle physiquement sur le disque ?", mais "Y
a-t-il un ficher de sauvegarde que je peux lire dans tel dossier".
--
Christophe de Vienne
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Fri Aug 13, 2004 4:27 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
| Quote: | Déjà, si on vérifie le type de retour
de close, on doit être pas mal.
|
Il me semble même que l'on ne doit rien pouvoir faire de plus, en
C++ standard.
Peut-être peut-on utiliser une fonction
bool closeAndWait( std::ofstream & file ) ;
qui ferme le fichier et utilise l'API de l'OS pour faire un flush du
fichier sur le disque, un équivalent de sync(1) pour Unix.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Fri Aug 13, 2004 4:46 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
Christophe de VIENNE <cdevienne (AT) alphacent (DOT) com> writes:
| Quote: | Loïc Joly wrote:
oxidor trucidel wrote:
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
[...]
Le but final de l'opération est, tout simplement, de sauvegarder
des données
et
de lire le répertoire pour vérifier si des données s'y trouvent déjà.
[...]
Par contre, comme l'OS peut cacher des informations en faisant
croire que le fichier est sur disque, ni ta méthode ni la mienne
n'offrent une sécurité absolue.
Heu, je ne crois pas que cela dérange l'OP. L'info qu'il cherche n'est
pas : "mes données sont-elle physiquement sur le disque ?", mais "Y
a-t-il un ficher de sauvegarde que je peux lire dans tel dossier".
|
Tiens, bizarre. J'avais également compris comme Loïc. Sans doute
faudrait-il une clarification du PO.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
|
|
| Back to top |
|
 |
oxidor trucidel Guest
|
Posted: Fri Aug 13, 2004 5:39 pm Post subject: Re: lire le contenu d'un répertoire en C++ |
|
|
"Christophe de VIENNE" <cdevienne (AT) alphacent (DOT) com> a écrit dans le message de
news:newscache$va8e2i$db8$1 (AT) guronzan (DOT) alphacent.com...
| Quote: | Loïc Joly wrote:
oxidor trucidel wrote:
je cherche un moyen de faire lire par mon programme le contenu
d'un répertoire (comme la très classique commande dir).
[...]
Le but final de l'opération est, tout simplement, de sauvegarder des
données
et
de lire le répertoire pour vérifier si des données s'y trouvent déjà.
[...]
Par contre, comme l'OS peut cacher des informations en faisant croire
que le fichier est sur disque, ni ta méthode ni la mienne n'offrent une
sécurité absolue.
Heu, je ne crois pas que cela dérange l'OP. L'info qu'il cherche n'est
pas : "mes données sont-elle physiquement sur le disque ?", mais "Y
a-t-il un ficher de sauvegarde que je peux lire dans tel dossier".
|
Oui, c'est très exactement ça.
Désolé si je me suis mal fait comprendre;
--
Oxidor Trucidel
|
|
| Back to top |
|
 |
Powered by phpBB © 2001, 2006 phpBB Group
|