Spec-Zone.ru › C++

std::rename

Определено в заголовке <cstdio>
int rename( const char* old_filename, const char* new_filename );

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

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

Параметры

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

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

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

Примечания

POSIX определяет множество дополнительных деталей семантики этой функции, которые воспроизводятся в C++ с помощью std::filesystem::rename.

Пример

#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
 
int main()
{
    if (!std::ofstream("from.txt").put('a')) // create and write to file
    {
        std::perror("Error creating from.txt");
        return EXIT_FAILURE;
    }
 
    if (std::rename("from.txt", "to.txt"))
    {
        std::perror("Error renaming");
        return EXIT_FAILURE;
    }
 
    std::cout << std::ifstream("to.txt").rdbuf() << '\n'; // print file
    return EXIT_SUCCESS;
}

Вывод:

a

См. также

rename
(C++17)
перемещает или переименовывает файл или директорию
(функция)
remove
удаляет файл
(функция)
Документация C для rename

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/c/rename

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API