rename
, _wrename
Bir dosyayı veya dizini yeniden adlandırın.
Sözdizimi
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
Parametreler
oldname
Eski adın işaretçisi.
newname
Yeni adın işaretçisi.
Dönüş değeri
Başarılı olursa bu işlevlerin her biri 0 döndürür. Hatada işlev sıfır olmayan bir değer döndürür ve aşağıdaki değerlerden birine ayarlar errno
:
errno değer |
Koşul |
---|---|
EACCES |
tarafından newname belirtilen dosya veya dizin zaten var veya oluşturulamadı (geçersiz yol) ya da oldname bir dizindir ve newname farklı bir yol belirtir. |
ENOENT |
Tarafından oldname belirtilen dosya veya yol bulunamadı. |
EINVAL |
Ad geçersiz karakterler içeriyor. |
Diğer olası dönüş değerleri için bkz. _doserrno
, _errno
, syserrlist
ve _sys_nerr
.
Açıklamalar
işlevi tarafından rename
belirtilen oldname
dosya veya dizini tarafından verilen adla newname
yeniden adlandırır. Eski ad, var olan bir dosya veya dizinin yolu olmalıdır. Yeni ad, var olan bir dosyanın veya dizinin adı olmamalıdır. bağımsız değişkeninde farklı bir yol vererek bir dosyayı bir dizinden veya cihazdan newname
diğerine taşımak için kullanabilirsinizrename
. Ancak, bir dizini taşımak için kullanamazsınız rename
. Dizinler yeniden adlandırılabilir, ancak taşınamayabilir.
_wrename
, öğesinin _rename
geniş karakterli bir sürümüdür; için bağımsız değişkenler _wrename
geniş karakterli dizelerdir. _wrename
ve _rename
aksi takdirde aynı şekilde davran.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
TCHAR.H olağan |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_trename |
rename |
rename |
_wrename |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
rename |
<io.h> veya <stdio.h> |
_wrename |
<stdio.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar
C çalışma zamanı kitaplıklarının tüm sürümleri.
Örnek
// 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 );
}
Çıktı
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'