Sdílet prostřednictvím


rename, _wrename

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'

Viz také

Zpracování souborů