Udostępnij przez


rename, _wrename

Zmień nazwę pliku lub katalogu.

Składnia

int rename(
   const char *oldname,
   const char *newname
);
int _wrename(
   const wchar_t *oldname,
   const wchar_t *newname
);

Parametry

oldname
Wskaźnik do starej nazwy.

newname
Wskaźnik na nową nazwę.

Wartość zwracana

Każda z tych funkcji zwraca wartość 0, jeśli zakończy się pomyślnie. W przypadku błędu funkcja zwraca wartość niezerową i ustawia errno na jedną z następujących wartości:

errno Wartość Stan
EACCES Plik lub katalog określony przez newname już istnieje lub nie można go utworzyć (nieprawidłowa ścieżka) lub oldname jest katalogiem i newname określa inną ścieżkę.
ENOENT Nie można odnaleźć pliku lub ścieżki oldname .
EINVAL Nazwa zawiera nieprawidłowe znaki.

Aby uzyskać inne możliwe wartości zwracane, zobacz _doserrno, _errno, syserrlisti _sys_nerr.

Uwagi

Funkcja rename zmienia nazwę pliku lub katalogu określonego przez oldname na nazwę nadaną przez newname. Stara nazwa musi być ścieżką istniejącego pliku lub katalogu. Nowa nazwa nie może być nazwą istniejącego pliku lub katalogu. Możesz użyć rename polecenia , aby przenieść plik z jednego katalogu lub urządzenia do innego, podając inną ścieżkę w argumencie newname . Nie można jednak użyć polecenia rename , aby przenieść katalog. Nazwy katalogów można zmienić, ale nie są przenoszone.

_wrename jest wersją szerokoznakową ; _renameargumenty, które mają _wrename być ciągami o szerokim znaku. _wrename i _rename zachowywać się identycznie inaczej.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

TCHAR.H Rutynowych _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_trename rename rename _wrename

Wymagania

Procedura Wymagany nagłówek
rename <io.h> lub <stdio.h>
_wrename <stdio.h> lub <wchar.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Biblioteki

Wszystkie wersje bibliotek czasu wykonywania języka C.

Przykład

// 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 );
}

Wynik

File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'

Zobacz też

Obsługa plików