[VC++]renomer un fichier

renomer un fichier [VC++] - Programmation

Marsh Posté le 16-10-2001 à 12:20:14    

ouais je sait  
jai honte de demander ca mais le je seche jai trouve la fonction _ulink pour detruire un fichier donc a part copier le fichier a la main puis deleter l'ancien voit pas d'autres methode pour l'instant a moin ke M$ ais deja fait une chtite classe ki fait ca sinon je la coderais c'est po la mort :p

Reply

Marsh Posté le 16-10-2001 à 12:20:14   

Reply

Marsh Posté le 16-10-2001 à 12:30:25    

hier j'ai regardé cela rapidement dans la MSDN
il me semble bien que la fonction _ulink est obsolète non ?
 
sinon je n'ai pas trouver de fonction pour renomer un fichier non plus :(

Reply

Marsh Posté le 16-10-2001 à 13:00:32    

rename, _wrename
Rename a file or directory.
 
int rename( const char *oldname, const char *newname );
 
int _wrename( const wchar_t *oldname, const wchar_t *newname );
 
Routine Required Header Compatibility  
rename <io.h> or <stdio.h> ANSI, Win 95, Win NT  
_wrename <stdio.h> or <wchar.h> Win NT  
 
 
For additional compatibility information, see Compatibility in the Introduction.
 
Libraries
 
LIBC.LIB Single thread static library, retail version  
LIBCMT.LIB Multithread static library, retail version  
MSVCRT.LIB Import library for MSVCRT.DLL, retail version  
 
 
Return Value
 
Each of these functions returns 0 if it is successful. On an error, the function  returns a nonzero value and sets errno to one of the following values:
 
EACCES
 
File or directory specified by newname already exists or could not be created (invalid path); or oldname is a directory and newname specifies a different path.
 
ENOENT
 
File or path specified by oldname not found.
 
EINVAL
 
Name contains invalid characters.
 
For other possible return values, see _doserrno, _errno, syserrlist, and _sys_nerr.
 
 
Parameters
 
oldname
 
Pointer to old name
 
newname
 
Pointer to new name
 
Remarks
 
The rename function renames the file or directory specified by oldname to the name given by newname. The old name must be the path of an existing file or directory. The new name must not be the name of an existing file or directory. You can use rename to move a file from one directory or device to another by giving a different path in the newname argument. However, you cannot use rename to move a directory. Directories can be renamed, but not moved.
 
_wrename is a wide-character version of _rename; the arguments to _wrename are wide-character strings. _wrename and _rename behave identically otherwise.
 
Generic-Text Routine Mappings
 
TCHAR.H Routine  _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined  
_trename rename rename _wrename  
 
 
Example
 
/* RENAMER.C: This program attempts to rename a file
 * named RENAMER.OBJ to RENAMER.JBO. For this operation
 * to succeed, a file named RENAMER.OBJ must exist and
 * a file named RENAMER.JBO must not exist.
 */
 
#include <stdio.h>
 
void main( void )
{
   int  result;
   char old[] = "RENAMER.OBJ", new[] = "RENAMER.JBO";
 
   /* Attempt to rename file: */
   result = rename( old, new );
   if( result != 0 )
      printf( "Could not rename '%s'\n", old );
   else
      printf( "File '%s' renamed to '%s'\n", old, new );
}
 
 
Output
 
File 'RENAMER.OBJ' renamed to 'RENAMER.JBO'
 
 
File Handling Routines

Reply

Marsh Posté le 16-10-2001 à 13:50:10    

thx :bounce:  :bounce:

Reply

Marsh Posté le 16-10-2001 à 14:01:56    

de rien
Par contre si tu pouvais me dire comment tester si un rep existe ca m'aiderait

Reply

Marsh Posté le 16-10-2001 à 14:05:52    

cf la fonction C "access" pr ca je crois

Reply

Marsh Posté le 16-10-2001 à 14:08:59    

ok je vais voir.
J'ai reussi a contourner le pb avec CreateDirectory mais je vais essayer quand meme
merci ;)

Reply

Marsh Posté le 16-10-2001 à 14:11:15    

apparemment c'est que pour les fichiers, mais c'est pas grave je me debrouille autrement

Reply

Marsh Posté le 16-10-2001 à 14:14:34    

Godbout a écrit a écrit :

de rien
Par contre si tu pouvais me dire comment tester si un rep existe ca m'aiderait  




Pour un fichier j'essaie de l'ouvrir en lecture, et s'il n'exite pas il y a une erreur...

Reply

Marsh Posté le 16-10-2001 à 14:15:28    

y a une fonction DirectoryExists( ) mais je sais pas si c un truc de C++Builder/Delphi ou un truc de l'API Windows.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 16-10-2001 à 14:15:28   

Reply

Marsh Posté le 16-10-2001 à 14:16:27    

BENB a écrit a écrit :

 
Pour un fichier j'essaie de l'ouvrir en lecture, et s'il n'exite pas il y a une erreur...  




 
Ben j'ai pas trouve la fonction pour ouvrir un rep.
Alors ce que je fais c'est je cree le rep, et si j'ai un message d'erreur alors c'est qu'il existe deja.
Si y a pas de message, alors je le detruit aussitot.
 
Enfin bon ca marche koi. ;)

Reply

Marsh Posté le 16-10-2001 à 14:17:01    

antp a écrit a écrit :

y a une fonction DirectoryExists( ) mais je sais pas si c un truc de C++Builder/Delphi ou un truc de l'API Windows.  




 
pas de trace dans le msdn

Reply

Marsh Posté le 16-10-2001 à 14:30:08    

a propos du msdn online .. quelle est l'url pour windows classique (2000 par ex).. par lorsque je fais une recherche je tombe tjr sur les fonction pour windows Ce .. et dans l'arboressence de la library je suis tjr sous CE ..

Reply

Marsh Posté le 16-10-2001 à 14:37:31    

Reply

Marsh Posté le 16-10-2001 à 15:14:47    

oui je sais bien ;) c'est celle si dotn je parle .. mais lorsque je fais une recherche dans la library il me donne des fonctions pour Windows CE. (je susi dans un sous rep de windows CE dans l'arboressence..)

Reply

Marsh Posté le 16-10-2001 à 16:03:44    

Dans "Shlwapi.h", t'as PathFileExists (szNomFivOuRep)... par contre je sais pas d'ou y sort ce .h

Reply

Marsh Posté le 16-10-2001 à 16:06:11    

j'ai le fichier dans le dossier include de vc.
 
par contre j'ai un gros pb de pointeur (apparemment) avec mon path.
Il est tout beau tout niquel, et juste apres le CreateDirectory y a plus que de la merde dedans :??:

Reply

Marsh Posté le 16-10-2001 à 16:08:09    

bah essaye d'autres choses, t'as que l'embaras du choix apparement pour voir si un répertoir existe !

Reply

Marsh Posté le 16-10-2001 à 16:10:38    

ouais mais ca m'enerve, ca veut dire que je chie dans ma programmation et ca j'aime pas !

Reply

Marsh Posté le 16-10-2001 à 16:16:09    

Putain mais merde c'est quand meme terrible !!
Avec PathFileExists ca me fait la meme chose.
Apres etre passe dans la fonction tout fout le camp !!

Reply

Marsh Posté le 16-10-2001 à 16:17:39    

Sous Unix un rep sa s'ouvre comme un fichier...

Reply

Marsh Posté le 16-10-2001 à 16:38:04    

Qd je definis mon char * a l'interieur de la fonction ca passe.
Mais quand il vient en arguments, la il fait nimp :??:
 
Ca vient de koi ?

Reply

Marsh Posté le 16-10-2001 à 16:52:49    

PathIsDirectory fonctionne, heureusement.
Pour les deux autres fonctions je comprend vraiment pas :??:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed