IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[VS2008]Erreur avec "Comment supprimer un répertoire non vide ?"


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 74
    Par défaut [VS2008]Erreur avec "Comment supprimer un répertoire non vide ?"
    Bonjour,

    J'ai repris dans un projet, que je fais sous Visual C++ 2008, la fonction de la FAQ "Comment supprimer un répertoire non vide ?", elle ne déclenche pas d'erreur et pourtant le dossier n'est pas supprimer.

    Après avoir tracé en debug, il apparaît une erreur à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     return (SHFileOperation(&sh)==0);
    j'ai en sortie le message "Exception de première chance à 0x7c80be74 dans Projet2.exe: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x010d8000".

    D'où cela peut-il venir ? Que faire ?

  2. #2
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Comment est renseignée la structure SHFILEOPSTRUCT ?
    Que vaut GetLastError() en cas d'erreur ?

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut
    As-tu exactement le même code que l'entrée de la F.A.Q ou as-tu modifié quelque chose ? Peut-on voir l'ensemble du code que tu as recopié ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 74
    Par défaut
    GetLastError renvoie 0.

    Le code est exactement celui de la FAQ.
    J'ai récupéré la fonction tel quel et je l'appelle ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    bool PrepareDirectory(const char * vpath)
    {
    	//Existence du dossier
    	if ( PathFileExists(vpath) )
    	{
    		DeleteDirectory(vpath, false);
    	}
     
    	//Appel récursif sur création du répertoire
    	return CreateRecursiveDirectory( vpath );
     
    }
    Le but est la création d'un répertoire temporaire pour stocker des images extraits d'une vidéo, et s'assurer que le répertoire est vide, alors je veux supprimer et recréer.

Discussions similaires

  1. Comment supprimer un repertoire non vide ?
    Par molo2003 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 30/07/2007, 10h22
  2. Comment supprimer un répertoire ayant des fichiers
    Par pinson dans le forum Delphi
    Réponses: 2
    Dernier message: 02/11/2006, 09h52
  3. Réponses: 9
    Dernier message: 24/10/2005, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo