Condividi tramite


rename, _wrename

Rinomina un file o una directory.

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 nuovo nome.

Valore restituito

Ognuna di queste funzioni restituisce 0 se ha esito positivo. Su un errore, la funzione restituisce un valore diverso da zero e imposta errno su uno dei seguenti valori:

  • EACCES
    Il file o la directory specificata da newname già esiste o non è stata creata (percorso non valido); oldname è una directory e newname specifica un percorso diverso.

  • ENOENT
    File o il percorso specificato da oldname non trovato.

  • EINVAL
    Il nome contiene caratteri non validi.

Per altri possibili valori restituiti, consultare _doserrno, _errno, syserrlist e _sys_nerr.

Note

La funzione rename rinomina il file o la directory specificata da oldname al nome specificato in newname. Il nome precedente deve essere il percorso di un file o di una directory. Il nuovo nome non deve essere il nome di un file o di una directory. È possibile utilizzare rename per spostare un file da una directory o da un dispositivo a un altro fornendo un percorso diverso nell'argomento di newname. Tuttavia, non è possibile utilizzare rename per spostare una directory. È possibile rinominare directory, ma non spostarle.

_wrename è una versione a caratteri estesi di _rename; gli argomenti a _wrename sono stringhe a caratteri estesi. _wrename e _rename si comportano in modo identico.

Mapping di routine di testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_trename

ridenominazione

ridenominazione

_wrename

Requisiti

Routine

Intestazione obbligatoria

ridenominazione

<io.h> or <stdio.h>

_wrename

<stdio.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'Introduzione.

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'

Equivalente .NET Framework

System::IO::File::Move

Vedere anche

Riferimenti

Gestione di file