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
, syserrlist
i _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ą ; _rename
argumenty, 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 rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_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'