Поделиться через


rename, _wrename

Переименование файла или каталога.

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

Параметры

  • oldname
    Указатель на старое имя.

  • newname
    Указатель на новое имя.

Возвращаемое значение

Каждая из этих функций возвращает 0 в случае успеха. При возникновении ошибки функция возвращает ненулевое значение и задает errno одно из следующих значений:

  • EACCES
    Файл или каталог, указанный newname, уже существует и не может быть создан (недопустимый путь); или oldname является каталогом, а newname определяет другой путь.

  • ENOENT
    Файл или путь, указанный oldname, не найден.

  • EINVAL
    Имя содержит недопустимые символы.

Для других возможных возвращаемых значений см. _doserrno, _errno, syserrlist и _sys_nerr.

Заметки

Функция rename переименовывает файл или каталог, указанный oldname, к имени, заданному newname. Старое имя должно быть путем к существующему файлу или каталогу. Новое имя не должно быть именем существующего файла или каталога. Можно использовать rename для перемещения файла из одного каталога или устройства в другое, указав другой путь в аргументе newname. Однако нельзя использовать rename для перемещения каталога. Каталоги можно переименовывать, но не перемещать.

_wrename — это двухбайтовая версия _rename; аргументы для _wrename представляют собой двухбайтовые строки. В противном случае поведение _wrename и _rename идентично.

Универсальное текстовое сопоставление функций

Подпрограмма TCHAR.H

_UNICODE & _MBCS не определены

_MBCS определено

_UNICODE определено

_trename

переименовать

переименовать

_wrename

Требования

Подпрограмма

Обязательный заголовок

переименовать

<io.h> или <stdio.h>

_wrename

<stdio.h> или <wchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Библиотеки

Все версии библиотек времени выполнения C.

Пример

// 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'

Эквивалент в .NET Framework

System::IO::File::Move

См. также

Ссылки

Обработка файлов