rename
, _wrename
Benennt eine Datei oder ein Verzeichnis um.
Syntax
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
Parameter
oldname
Zeiger auf den alten Namen.
newname
Zeiger auf den neuen Namen.
Rückgabewert
Jede dieser Funktionen gibt 0 zurück, wenn sie erfolgreich ist. Bei einem Fehler gibt die Funktion einen Wert ungleich null zurück und legt errno
auf einen der folgenden Werte fest:
Wert vom Typ errno |
Bedingung |
---|---|
EACCES |
Datei oder Verzeichnis, die durch newname bereits vorhanden oder nicht erstellt werden konnte (ungültiger Pfad) oder oldname ist ein Verzeichnis und newname gibt einen anderen Pfad an. |
ENOENT |
Datei oder Pfad, die durch oldname nicht gefunden wurde. |
EINVAL |
Name enthält ungültige Zeichen. |
Weitere mögliche Rückgabewerte finden Sie unter _doserrno
, _errno
, , syserrlist
und _sys_nerr
.
Hinweise
Die rename
Funktion benennt die datei oder das Verzeichnis um, die durch oldname
den angegebenen Namen angegeben wird newname
. Der alte Name muss der Pfad einer vorhandenen Datei oder eines vorhandenen Verzeichnisses sein. Der neue Name darf nicht der Name einer vorhandenen Datei oder eines vorhandenen Verzeichnisses sein. Sie können rename
eine Datei aus einem Verzeichnis oder Gerät in ein anderes verschieben, indem Sie einen anderen Pfad im newname
Argument angeben. Sie können jedoch nicht zum Verschieben eines Verzeichnisses verwenden rename
. Verzeichnisse können umbenannt, aber nicht verschoben werden.
_wrename
ist eine Breitzeichenversion von _rename
. Die Argumente für _wrename
sind Zeichenfolgen mit Breitzeichen. _wrename
und _rename
verhalten sich andernfalls identisch.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
TCHAR.H -Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_trename |
rename |
rename |
_wrename |
Anforderungen
Routine | Erforderlicher Header |
---|---|
rename |
<io.h> oder <stdio.h> |
_wrename |
<stdio.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Libraries
Alle Versionen der C-Laufzeitbibliotheken.
Beispiel
// 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 );
}
Output
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'