rename, _wrename
Renomear um arquivo ou diretório.
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
Parâmetros
oldname
Ponteiro para o nome antigo.newname
Ponteiro para o novo nome.
Valor de retorno
Cada uma dessas funções retornará 0 se for bem-sucedida. Em um erro, a função retorna um valor diferente de zero e define errno a um dos seguintes valores:
EACCES
Arquivo ou diretório especificado por newname já existe ou não podem ser criados (caminho inválido); ou o oldname é um diretório e o newname especifica um caminho diferente.ENOENT
Arquivo ou caminho especificado pelo oldname não seja localizado).EINVAL
O nome contiver caracteres inválidos.
Para outros valores de retorno possíveis, consulte _doserrno, _errno, syserrlist, e _sys_nerr.
Comentários
A função de rename renomeia o arquivo ou diretório especificado por oldname ao nome fornecido por newname. O nome antigo deve ser o caminho de um arquivo existente ou diretório. O novo nome não deve ser o nome de um arquivo existente ou diretório. Você pode usar rename para mover um arquivo de um diretório ou o dispositivo para outro capacete um caminho diferente no argumento de newname . Porém, você não pode usar rename para mover um diretório. Os diretórios podem ser renomeados, mas não ser movido.
_wrename é uma versão de ampla caractere de _rename; os argumentos a _wrename são cadeias de caracteres de ampla caractere. _wrename e _rename se comportam idêntica de outra forma.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_trename |
renomear |
renomear |
_wrename |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
renomear |
<io.h ou> stdio.h <> |
_wrename |
<stdio.h> ou <wchar.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Bibliotecas
Todas as versões das Bibliotecas em tempo de execução C.
Exemplo
// 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 );
}
Saída
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'