Bonjour,
je veux renommer un fichier par une chaine de caractère stoquée dans un tableau:
par exemple
char nom[20];
mon fichier est t.txt et
je fé rename("t.txt", nom);
ca marche pas!!
merci
Bonjour,
je veux renommer un fichier par une chaine de caractère stoquée dans un tableau:
par exemple
char nom[20];
mon fichier est t.txt et
je fé rename("t.txt", nom);
ca marche pas!!
merci
probablement parceque le working directory de ton programme n'est pas le répertoire dans lequel se trouve ton fichier "t.txt".
Je te conseille d'ajouter le chemin complet dans ton rename (et au passage de réserver plus de place pour ton tableau de caractères car 20 octets, c'est loin d'être assez pour éviter tous les futurs bugs)
Après, si ce n'est pas un problème de path, cela peut aussi être un problème de droits d'accès sur le répertoire.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Il peut y avoir plusieurs raison (la plus courante est celle mentionnées par ram_0000).
Pour savoir qu'elle est l'erreur, (si rename() retourne -1), examines la valeur de errno.
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
j'ai essayer tout ce que vous avez mentionner mais tj pas de solution
rename me retourne -1.Merci
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
rename ne marche pas dans ce cas.est ce qu'il uy a une autre fonction qui permet de renommer les fichiers en langage c.Merci
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
certains fois il m'affiche 17 et d'autres 22.merci
#define EEXIST 17 /* File exists */
#define EINVAL 22 /* Invalid argument */
Un peu de lecture : man de rename()
Avant d'utiliser une fonction, il est quand même préférable de lire sa doc !!!
Extrait :
ENOTEMPTY ou EEXIST newpath est un répertoire non vide (contient autre chose que "." et "..").
EINVAL Une partie du nouveau chemin contient en préfixe l'ancien chemin, ou plus généralement, un répertoire ne peut pas être déplacé dans ses propres sous-répertoires.
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
de toute facon ca va pas marcher avec la fonction rename car elle utlise deux argument constant?il faut une autre fonction.
rename prends 2 chaines de caractères : fichier à renomer / déplacer, nouveau nom/emplacement.
Le caractère constant des arguments n'a vraiment rien a voir !
Cela signifie que la fonction ne modifie pas les chaines passées en argument !
Un conseil : prend un bon bouquin/tuto sur le C et la lib C + un bon tuto sur les concepts de la programmation...
Il n'existe aucune autre fonction de la lib C pour faire ce que tu veux...
Mais puisque tu ne veux rien écouter et ne pas prendre en compte ce qu'on te dis, tu risques de galérer longtemps sur ton problème !
si tu n'initialise pas la variable nom avec le nouveau nom de fichier, ca ne risque pas de marcher !char nom[20];
mon fichier est t.txt et
je fé rename("t.txt", nom);
ca marche pas!
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
dans google : code errno 17. 339000 réponses semblent dire que le fichier existe. Il n'est pas possible de renommer un fichier si le nouveau nom est déjà utilisé par un fichier existant.
dans google : code errno 22. 317000 réponses s'accordent à dire que c'est un argument invalide.
Au passage, j'ai trouvé cela : la signification des codes errno en fonction des différentes plateformes : http://www.ioplex.com/~miallen/errcmp.html
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Assure -toi que ton exe et "t.txt" sont dans le même répertoire et que nom contient bien un nom de fichier valide et qu'aucun fichier portant ce nom n'existe déjà. Tu peux aussi faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part rename("t.txt", "t2.txt"); /* renomme t.txt en t2.txt */
Partager