RECHERCHER UN FICHIER SUR LE DISQUE DUR AVEC VISUAL C++

cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 - 17 juil. 2004 à 00:59
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 3 juil. 2005 à 16:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24634-rechercher-un-fichier-sur-le-disque-dur-avec-visual-c

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
3 juil. 2005 à 16:57
anonyme_man_in_this_world Messages postés 161 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 1 août 2006
1 juil. 2005 à 16:57
salut !!
comment lister les disque dur

A+
Lancelot965 Messages postés 1 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 31 mai 2005
31 mai 2005 à 17:41
Attention!

La fct "FindFirstFile" est ambigüe car elle ne permet pas de traverser un dossier sur lequel vous n'avez pas de droit de lecture ou de "listage". Pourtant, même sans avoir aucun droit sur le dossier il est possible de lister son contenu avec la fonction CreateFile (à condition qu'il y ait au moins un fichier accessible en lecture dans le dossier).

Par conséquent, contrairement à ce qui est dit en début d'article, il ne faut pas utiliser cette fct pour tester l'existence de fichiers, il faut utiliser "CreateFile".

exemple: c:\dossier1\test.txt
- dossier1: aucun droit (NTFS)
- test.txt: tous les droits (non héritage des droits de "dossier1" donc)
Essayez la fct CreateFile et vous constaterez que vous pourrez lire le fichier, écrire dedans, le copier dans un autre dossier, etc...
appstmd Messages postés 27 Date d'inscription mardi 31 juillet 2001 Statut Membre Dernière intervention 17 mai 2005
17 mai 2005 à 20:54
Salut !

Vérifie d'abord que tu as une connexion Internet active, sinon ça risque de planter. Et de spécifier également une adresse IP valide !! Peut-être que l'adresse que j'ai donné dans l'exemple n'est plus valide !!!
sexy_developpeuse Messages postés 21 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 5 septembre 2007
9 mai 2005 à 16:57
en fait le code de recherche sur un serveur ftp ne marche pas tres correctement apres execution j'ai un bug d'assertion du genre debug assertion failed dans le fichiers afxxin1.inl et je sais pas comment faire fasse?
appstmd Messages postés 27 Date d'inscription mardi 31 juillet 2001 Statut Membre Dernière intervention 17 mai 2005
3 oct. 2004 à 21:42
Merci pour les messages ; le code n'était effectivement pas bon.

Voici un exemple d'utilisation trouvé sur MSDN : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cfilefind.asp

Notre code a été mis à jour, vous le trouverez à la page : http://www.atlence.com/index.php?page=prg_cppsearch
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
8 sept. 2004 à 10:33
faudrais pas plutot faire

if (Find.FindFile ("*.*"))
{
do {
AfxMessageBox (Find.GetFileName ());
} while (Find.FindNextFile ());
}

?
lordnecron Messages postés 4 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 8 septembre 2004
8 sept. 2004 à 10:30
J'utilise la version MFC de son code...
Voici mon algo :

void CDialogDistancier::OnTest()
{
CFileFind Find;
CString Dossier ="d:/JUB/";
// Change de répertoire
SetCurrentDirectory (Dossier);
// Début de la recherche
if (Find.FindFile ("*.*"))
{
while (Find.FindNextFile ()){
AfxMessageBox (Find.GetFileName ());
}
}
// Fin de la recherche
Find.Close ();
}

En tout et pour tout, j'affiche les "." et ".."
Jamais mon fichier "Carte1.gcm" qui se trouve dans le répertoire "d:/JUB" et qui s'y trouve seul.

C'est hallucinant... j'me demande bien ou je merde...
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
7 sept. 2004 à 18:01
l'API n'est pas bogguée, ca c'est sur.
lordnecron Messages postés 4 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 8 septembre 2004
7 sept. 2004 à 17:55
Je me demande si l'algo est erroné, si l'API est bugguée ou bien si je n'ai pas les yeux en face des trous, mais il me semble que la fonction liste tous les fichiers moins un !
Si le répertoire contient 6 fichiers, on en obtient que 5, s'il en contient un, on obtient RIEN...

Des explications ?
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 juil. 2004 à 12:27
void AfficherListeFichiers (char Dossier[MAX_PATH])

pas obliger de preciser la taille, c'est un pointeur qui est passer en parametre
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 09:35
Ca va quand même plus vite (à coder)
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
17 juil. 2004 à 00:59
Bien écrit, mais le titre de la source est mensonger! Tu ne fais ici que lister.

"MFC facilite encore davantage le code" => pas du tout d'accord, enfin doit dépendre des personnes interrogées.
Moi je n'ai pas encore trouvé un seul avantage pour utiliser les MFC!
Rejoignez-nous