Renommer un fichier

oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004 - 30 juin 2004 à 14:02
mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008 - 27 nov. 2004 à 03:45
salut tout le monde,

j'essaye de renomer un fichier avec la fonction rename() mais ça marche pas pour l'instant:
en fait j'ai un nom stocké dans la variable (type caractère) nomfichier et je veux tout simplement le renommer sous un nouveau nom stocké lui dans une autre variable nouveaunom à qui j'affecte le nom "toto.tif" par exemple

j'ai fait
rename(nomfichier,"toto.tif" );
la compilation passe sans faute mais quand j'affiche le nomfichier, il garde son ancien nom!!

merci de m'éclaircir

18 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 2
30 juin 2004 à 14:16
Verifie ke le fichier ke tu veux renommer n'est pas ouvert ou ki ne nécessite pas d'etre recopié pour changer de nom (lecture seule...)

Voila ++

Alhexman
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
30 juin 2004 à 14:31
Sur win32, MoveFile() fait cela.

ciao...
BruNews, Admin CS, MVP Visual C++
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
30 juin 2004 à 14:37
non le fichier est fermé et il n'est pas en lecture seule et ça ne marche toujours pas
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
30 juin 2004 à 14:47
problème de répertoire peut-être, essaie avec le chemin complet
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 1
30 juin 2004 à 16:20
essaie avec les noms cours:
8.3 :
avec les ~

Le pb peu venir de la...

Test : renomme toto.ext et titi.ex2

Magic Nono: l'informagicien!
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
30 juin 2004 à 16:28
autrement;

si j'ai fait appel à createfile comme suit:

KPDCStatus CreateDestinationFile(	KPDCProcsPtr		pProcs, 
KPDCLibMgrRef		libMgr,
char*				fileName, 
KPDCFileRefHandle*	fileRef)
{
KPDCStatus	theStatus = KPDC_OK;
char		theFilePath[MAX_STRING_LENGTH];
KPDCUInt32	theAttributeSize = 0;
HANDLE		theFileHandle = INVALID_HANDLE_VALUE;

//Installez le chemin du	fichier
// Set up the file path
//
strcpy(theFilePath, "D:\");
strcat(theFilePath, fileName);

//	créer	le	fichier
// Create the file
//
theFileHandle = CreateFile(	theFilePath,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(theFileHandle == INVALID_HANDLE_VALUE)
{
theStatus = (KPDCStatus) GetLastError();
}
else
{
*fileRef = (KPDCFileRefHandle) theFileHandle;
}

return(theStatus);
}


theFilePath contient le nom de fichier
et que dans main j'ai fait:
theStatus = CreateDestinationFile(	&theProcs, 
theLibMgr, 
gtheFileName, 
&theFileRef);


j'ai fermer le handle thefileref mais quand je fais le rename le fichier comme suit:

if(theFileRef != NULL) CloseFile(theFileRef);

ça marche toujours pas !!!
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
30 juin 2004 à 16:31
comment renomer un fichier en utilisant son handle
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
30 juin 2004 à 16:37
fichier doit etre ferme donc aucun handle dessus.
MoveFile et rien d'autre.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 2
30 juin 2004 à 16:38
regarde plus haut, BruNews ta donné la reponse...
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
1 juil. 2004 à 10:35
merci BruNews,

mais movefile n'écrase pas un fichier du même nom, et donc le movefile reste insuffisante je dois faire quoi pour pouvoir écraser un fichier qui porte le même nom si jamais il existe?

MERCI
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
1 juil. 2004 à 10:59
Verif d'existence prealable avec GetFileAttributes
Si existe alors DeleteFile
MoveFile pour finir.

ciao...
BruNews, Admin CS, MVP Visual C++
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
1 juil. 2004 à 11:22
merci,

j'ai un autre problème:

si j'ai une chaîne de caractère(nom du fichier par exemple) dont je ne sais pas la longeur, comment je fais pour récupérer l'extension toute seule et la partie sans extesion toute seule(l'extension est par exemple .tif)
la longeur n'est à priorie pas connue: c'est l'utilisateur qui tape le nom du fichier

Merci
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
1 juil. 2004 à 11:31
Ben a ce point faut commencer par apprendre le C et le maniement des pointeurs, sera pas possible d'aller plus avant sans ce prerequis.

ciao...
BruNews, Admin CS, MVP Visual C++
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
1 juil. 2004 à 11:42
oui mais pour l'instant j'ai pas le temps j'ai un programme à finir et il me reste pas boucoup de temps voilà, je fais du progré, sauf que maintenant je dois me débroyer pour avoir mon diplôme

merci
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 1
1 juil. 2004 à 12:34
utilise mes BString & les BFichier...

si tu veu po t'embéter, G des fonctions qui font tout ça...

Magic Nono: l'informagicien!
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
1 juil. 2004 à 12:41
oudkaramla > j'espere que qlquns d'ici seront cites dans la mention du diplome...

ciao...
BruNews, Admin CS, MVP Visual C++
0
oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004
1 juil. 2004 à 13:26
si j'arrive au but final;j'ensuis trés prés!
oui,bien sûr!
0
mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008
27 nov. 2004 à 03:45
Bonjour à tous

Pour renomer et ecraser voici comment

MoveFileEx(nominitial,nomresultant,MOVEFILE_REPLACE_EXISTING);
0