Namespaces
Variants

rename

From cppreference.net
< c ‎ | io
Определено в заголовочном файле <stdio.h>
int rename ( const char * old_filename, const char * new_filename ) ;

Изменяет имя файла. Файл идентифицируется строкой символов, на которую указывает old_filename . Новое имя файла идентифицируется строкой символов, на которую указывает new_filename .

Если new_filename существует, поведение определяется реализацией.

Содержание

Параметры

old_filename - указатель на строку, завершающуюся нулём, содержащую путь к переименовываемому файлу
new_filename - указатель на строку, завершающуюся нулём, содержащую новый путь файла

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

0 при успешном выполнении или ненулевое значение при ошибке.

Примечания

POSIX определяет множество дополнительных деталей относительно семантики этой функции.

Пример

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE* fp = fopen("from.txt", "w"); // create file "from.txt"
    if (!fp)
    {
        perror("from.txt");
        return EXIT_FAILURE;
    }
    fputc('a', fp); // write to "from.txt"
    fclose(fp);
    int rc = rename("from.txt", "to.txt");
    if (rc)
    {
        perror("rename");
        return EXIT_FAILURE;
    }
    fp = fopen("to.txt", "r");
    if(!fp)
    {
        perror("to.txt");
        return EXIT_FAILURE;
    }
    printf("%c\n", fgetc(fp)); // read from "to.txt"
    fclose(fp);
    return EXIT_SUCCESS;
}

Возможный вывод:

a

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.21.4.2 Функция rename (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.21.4.2 Функция rename (стр.: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.21.4.2 Функция rename (стр. 302-303)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.19.4.2 Функция rename (стр: 268-269)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.9.4.2 Функция rename

Смотрите также

удаляет файл
(функция)
C++ documentation для rename