Deplacer un fichier dans un repertoire en langage c sur linux
Résolu
usher105
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
usher105 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
usher105 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, s'il vous plait j'essaye depuis 2 jours à deplacer un fichier dans un dossier avec la fonction rename en sur ubuntu sans succès. voila ma fonction:
Sa m'affiche a chaque fois echec de deplacement.
Merci de m'aider
void deplace(char* nom_fichier, char* nom_dossier) { FILE *fichier = NULL; DIR *repertoire = NULL; fichier = fopen(nom_fichier,"r"); if((fichier == NULL)&&(errno == ENOENT)) { printf("le fichier %s n\'existe pas\n",nom_fichier); } else { repertoire = opendir(nom_dossier); if((repertoire == NULL)&&(errno == ENOENT)) { printf("Le repertoire %s n\'existe pas\n",nom_dossier); } else { fclose(fichier); closedir(repertoire); //Deplacement du fichier dans le repertoire if(rename(nom_fichier, nom_dossier) == 0) printf("fichier %s deplace avec succe\n",nom_fichier); else printf("Echec de deplacement\n"); } } }
Sa m'affiche a chaque fois echec de deplacement.
Merci de m'aider
A voir également:
- Deplacer un fichier dans un repertoire en langage c sur linux
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Déplacer colonne excel - Guide
- Fichier rar - Guide
1 réponse
Ben tu renommes ton fichier en répertoire...
Il faut indiquer le nom du fichier source et la destination : rename(source, destination).
Donc grosso modo, il faut que tu mettes en 2nd argument : nom_dossier/nom_fichier.
Tu peux te créer une variable suffisamment grande, copier nom_dossier dedans avec strcpy() puis concaténer avec nom_fichier (strcat()).
Pense bien à vérifier qu'il y a bien le '/'.
Cdlt,
Il faut indiquer le nom du fichier source et la destination : rename(source, destination).
Donc grosso modo, il faut que tu mettes en 2nd argument : nom_dossier/nom_fichier.
Tu peux te créer une variable suffisamment grande, copier nom_dossier dedans avec strcpy() puis concaténer avec nom_fichier (strcat()).
Pense bien à vérifier qu'il y a bien le '/'.
Cdlt,
usher105
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
merci fiddy probleme resolu