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

MFC Discussion :

renommer un fichier


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 39
    Par défaut renommer un fichier
    Bonjour à tous,
    je travaille sous visual c++.
    j'essaye d'utiliser cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int rename(const char* ancienNom, const char* nouveauNom);
    qui renomme un fichier mais ça ne marche pas.
    elle ne me renvoie pas '0' çad qu'elle n'a pas reussu a renommer le fichier.
    est ce que qqu'un a une idée de ce que je dois faire?

    sinon est ce qqu'un sait comment on crée un repertoire? toujous en travaillant avec visual c++

    merci.

  2. #2
    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
    Bonjour,
    Avec les MFC, tu peux renommer un fichier avec CFile::Rename qui est statique. Ensuite, il faut faire attention aux problèmes d'existence du fichier et des droits à le modifier.
    Pour créer un répertoire, je ne me souvient plus s'il existe quelque chose avec les MFC, mais avec Win32, tu peux utiliser CreateDirectory (ou CreateDirectoryEx) tout simplement.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 39
    Par défaut
    J'ai essayé avec et j'ai ce message d'erreur a l'execution
    an unnamed file was not found
    Pourtant je suis sur que le fichier existe et que j'ai les droits qu'il faut.

  4. #4
    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
    As-tu mis un point d'arrêt pour voir quelles sont les valeurs effectives des paramètres à l'appel ? Peux-tu montrer le code qui entoure cet appel ?

  5. #5
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 39
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void CCAODlg::OnRenommer() 
    {
    	// TODO: Add your control notification handler code here
    	int r;
    	CString ancien= "fad.doc";
    	CString nouveau = "blabla.bla";
    	//CFile::Rename(chemin + "\\" + ancien, chemin + "\\" + nouveau);
    	//r=rename( chemin + "\\" + ancien_2,chemin + "\\" + nouveau);
    	//CreateDirectory( chemin + "\\" + "FAD",NULL );
    	if(r==0)
    		MessageBox("ok");
    	else
    		MessageBox("pas ok");
     
     
    }
    la variable "chemin" contient le chemin de mon fichier et ca ne pose pas probleme avec d'autre fonctions comme "fopen"

    non je n'ai pas mis de point d'arret

  6. #6
    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
    Ben, tu peux vérifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    {
    	// TODO: Add your control notification handler code here
    	int r;
    	CString ancien= "fad.doc";
    	CString nouveau = "blabla.bla";
     
            CString message;
            message = "Créer le répertoire :'"+chemin + "\\" + "FAD"+"'";
            MessageBox(message);
     
            message = "Renomer le fichier :'"
                + chemin + "\\" + ancien + "'"
                + " en '"
                + chemin + "\\" + nouveau + "'"
           ;
            MessageBox(message);
    }
    Et voir si ce sont les bonnes chaînes.
    Si tout est OK, alors ce ne peut être qu'un problème de droit : soit le fichier est actuellement ouvert par une autre application, soit tu n'as pas les droits.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Renommer un fichier a la date du jour
    Par mandrack dans le forum Linux
    Réponses: 3
    Dernier message: 15/12/2008, 10h18
  2. [LG]programme qui renomme des fichiers
    Par Ne0taku dans le forum Langage
    Réponses: 9
    Dernier message: 16/02/2005, 21h18
  3. renommer un fichier uploadé
    Par Sowa dans le forum ASP
    Réponses: 2
    Dernier message: 07/02/2005, 09h23
  4. Renommer un fichier avec SmartUpload
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 21/12/2004, 15h53
  5. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35

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