Динамическое создание имен файлов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть функция которая прнимает путь файла для создания в формате char.
outfile01  = sf_open("d:/buff01.wav", SFM_WRITE, &sfinfo);
outfile02  = sf_open("d:/buff02.wav", SFM_WRITE, &sfinfo);
outfile03  = sf_open("d:/buff03.wav", SFM_WRITE, &sfinfo);
outfile04  = sf_open("d:/buff04.wav", SFM_WRITE, &sfinfo);
//........................... и тд
что бы облегить жизнь решил автоматизировать процесс SNDFILE **outfile=new SNDFILE*[86]; создал 86 указателей на указатель теперь нужно в кажом создать файл (открыть) тут возникли проблемы
for(int i = 0; i <= 85; i++) {   // работаем с первой частью М
        char file_name[11] = "file00.wav";  
        outfile[0]  = sf_open(file_name , SFM_WRITE, &sfinfo);  
    }
Передовать можно только char , а как сделать имя динамичным? file00.wav file01.wav file02.wav file03.wav.........

Решение задачи: «Динамическое создание имен файлов»

textual
Листинг программы
char filename[11];
 
for (i = 0; i < 86; i++) {
    sprintf(filename, "file%02d.wav", i);
    outfile[i] = sf_open(filename , SFM_WRITE, &sfinfo);
}

Объяснение кода листинга программы

  1. Объявлена переменная типа char с именем filename и размером 11 символов.
  2. Задаётся цикл for, который выполняется 86 раз.
  3. В каждой итерации цикла в переменную filename записывается строка file02d.wav, где 02d — это двузначное число, соответствующее текущему значению переменной i, а file и wav — это названия файлов.
  4. Затем переменная filename передается в функцию sf_open, которая открывает файл с указанным именем для записи.
  5. Результат работы функции sf_open сохраняется в переменной outfile.
  6. В конце каждой итерации цикла значение переменной i увеличивается на 1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы