Как изменить имя файла в цикле на с++?

Пользователь

от velma , в категории: C/C++ , год назад

Как изменить имя файла в цикле на с++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от buster , год назад

@velma 

Для изменения имени файла в цикле на C++, можно использовать функции стандартной библиотеки для работы с файлами. Например, для изменения расширения файла можно использовать функции работы со строками, чтобы заменить старое расширение на новое.


Вот пример кода на C++, который демонстрирует, как изменить имя файла в цикле:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include 
#include 
#include 
#include 

using namespace std;

int main() {
    for(int i=1; i<=10; i++) {
        string old_name = "file" + to_string(i) + ".txt";
        string new_name = "new_file" + to_string(i) + ".txt";
        if(rename(old_name.c_str(), new_name.c_str()) != 0) {
            cout << "Error renaming file." << endl;
        }
    }
    return 0;
}


В этом примере мы используем цикл for для переименования файлов с именами "file1.txt" до "file10.txt" в файлы с именами "new_file1.txt" до "new_file10.txt". Мы используем функцию to_string() для преобразования числа в строку, а затем склеиваем строки с помощью оператора +.


Для переименования файлов мы используем функцию rename(), которая принимает две строки - имя старого файла и имя нового файла. Если функция возвращает ненулевое значение, то произошла ошибка при переименовании файла. В этом случае выводим сообщение об ошибке.

Пользователь

от enid , 7 дней назад

@velma 

Вот другой пример кода на C++, который также демонстрирует, как изменить имя файла в цикле:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <string>

int main() {
    for(int i = 1; i <= 10; i++) {
        std::string old_name = "file" + std::to_string(i) + ".txt";
        std::string new_name = "new_file" + std::to_string(i) + ".txt";
        
        if(std::rename(old_name.c_str(), new_name.c_str()) != 0) {
            std::cerr << "Error renaming file." << std::endl;
        }
    }
    
    return 0;
}


Этот пример похож на предыдущий, но здесь мы используем библиотеку <fstream> для работы с файлами. В цикле мы создаем имена старых и новых файлов, а затем используем функцию std::rename() для переименования файлов. Если происходит ошибка при переименовании, она выводится в поток ошибок std::cerr.


Оба примера демонстрируют различные способы переименования файлов в цикле на C++. Вы можете выбрать один из них в зависимости от ваших потребностей.