Динамическое создание имен файлов - C (СИ)
Формулировка задачи:
Есть функция которая прнимает путь файла для создания в формате char.
что бы облегить жизнь решил автоматизировать процесс
SNDFILE **outfile=new SNDFILE*[86]; создал 86 указателей на указатель
теперь нужно в кажом создать файл (открыть) тут возникли проблемы
Передовать можно только char , а как сделать имя динамичным? file00.wav file01.wav file02.wav file03.wav.........
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); //........................... и тд
for(int i = 0; i <= 85; i++) { // работаем с первой частью М char file_name[11] = "file00.wav"; outfile[0] = sf_open(file_name , SFM_WRITE, &sfinfo); }
Решение задачи: «Динамическое создание имен файлов»
textual
Листинг программы
char filename[11]; for (i = 0; i < 86; i++) { sprintf(filename, "file%02d.wav", i); outfile[i] = sf_open(filename , SFM_WRITE, &sfinfo); }
Объяснение кода листинга программы
- Объявлена переменная типа char с именем filename и размером 11 символов.
- Задаётся цикл for, который выполняется 86 раз.
- В каждой итерации цикла в переменную filename записывается строка
file02d.wav
, где02d
— это двузначное число, соответствующее текущему значению переменной i, аfile
иwav
— это названия файлов. - Затем переменная filename передается в функцию sf_open, которая открывает файл с указанным именем для записи.
- Результат работы функции sf_open сохраняется в переменной outfile.
- В конце каждой итерации цикла значение переменной i увеличивается на 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д