Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přejmenujte soubor nebo adresář.
Syntaxe
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
Parametry
oldname
Ukazatel na starý název
newname
Ukazatel na nový název
Vrácená hodnota
Každá z těchto funkcí vrátí hodnotu 0, pokud je úspěšná. U chyby vrátí funkce nenulovou hodnotu a nastaví errno jednu z následujících hodnot:
errno hodnota |
Podmínka |
|---|---|
EACCES |
Soubor nebo adresář zadaný newname již existuje nebo nelze vytvořit (neplatnou cestu) nebo oldname je adresář a newname určuje jinou cestu. |
ENOENT |
Soubor nebo cesta zadaná nenalezena oldname . |
EINVAL |
Název obsahuje neplatné znaky. |
Další možné návratové hodnoty naleznete v tématu , , , a_sys_nerr . syserrlist_errno_doserrno
Poznámky
Funkce rename přejmenuje soubor nebo adresář určený názvem zadaným uživatelem oldname newname. Starý název musí být cesta existujícího souboru nebo adresáře. Nový název nesmí být název existujícího souboru nebo adresáře. Soubor můžete rename přesunout z jednoho adresáře nebo zařízení do jiného zadáním jiné cesty v argumentu newname . K přesunutí adresáře ale nemůžete použít rename . Adresáře je možné přejmenovat, ale nepřesouvat.
_wrename je verze širokého znaku _rename; argumenty, které mají _wrename být řetězce širokého znaku. _wrename a _rename chovat se stejně jinak.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
TCHAR.H rutina |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
|---|---|---|---|
_trename |
rename |
rename |
_wrename |
Požadavky
| Rutina | Požadovaný hlavičkový soubor |
|---|---|
rename |
<io.h> nebo <stdio.h> |
_wrename |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny
Všechny verze knihoven runtime jazyka C.
Příklad
// 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 );
}
Výstup
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'