rename
, _wrename
Rinomina un file o una directory.
Sintassi
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
Parametri
oldname
Puntatore al nome precedente.
newname
Puntatore al nome nuovo.
Valore restituito
Ognuna di queste funzioni restituisce 0 se ha esito positivo. In caso di errore, la funzione restituisce un valore diverso da zero e imposta errno
su uno dei valori seguenti:
Valore errno |
Condizione |
---|---|
EACCES |
Il file o la directory specificata da newname esiste già o non è stato possibile creare (percorso non valido) oppure oldname è una directory e newname specifica un percorso diverso. |
ENOENT |
File o percorso specificato da oldname non trovato. |
EINVAL |
Il nome contiene caratteri non validi. |
Per altri valori restituiti possibili, vedere _doserrno
, _errno
, syserrlist
e _sys_nerr
.
Osservazioni:
La rename
funzione rinomina il file o la directory specificata da oldname
con il nome specificato da newname
. Il nome precedente deve essere il percorso di un file o una directory esistente. Il nuovo nome deve essere il nome di un file o una directory esistente. È possibile usare rename
per spostare un file da una directory o un dispositivo a un altro assegnando un percorso diverso nell'argomento newname
. Tuttavia, non è possibile usare rename
per spostare una directory. Le directory possono essere rinominate, ma non spostate.
_wrename
è una versione a caratteri "wide" di _rename
. Gli argomenti per _wrename
sono stringhe a caratteri "wide". In caso contrario,_wrename
e _rename
si comportano in modo identico.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di routine di testo generico
TCHAR.H routine |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_trename |
rename |
rename |
_wrename |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
rename |
<io.h> oppure <stdio.h> |
_wrename |
<stdio.h> oppure <wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Librerie
Tutte le versioni delle librerie di runtime C.
Esempio
// crt_renamer.c
/* This program attempts to rename a file named
* CRT_RENAMER.OBJ to CRT_RENAMER.JBO. For this operation
* to succeed, a file named CRT_RENAMER.OBJ must exist and
* a file named CRT_RENAMER.JBO must not exist.
*/
#include <stdio.h>
int main( void )
{
int result;
char old[] = "CRT_RENAMER.OBJ", new[] = "CRT_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 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'