neveen neveen Ответов: 1

Как динамически изменять имя файла при записи в цикле?


Я хочу отправить имя файла в функцию для записи некоторых данных в файл, на первой итерации запишите некоторое содержимое в файл с именем file0.txt, вторая итерация file1.txt и так далее,
как это можно сделать?

Что я уже пробовал:

void main(){
writetotxtfile(str,"file/*how can make this part dynamically change */ ");

}

1 Ответов

Рейтинг:
6

Richard MacCutchan

char* base = "file";
char filename[256];
int index;
for (index = 0; index < uppervalue; index++)
{
    sprintf(filename, "%s%d.txt", base, index);
    writetotxtfile(filename, other parameters);
}


neveen neveen

спасибо, еще один вопрос, пожалуйста, как можно использовать конкретный путь в fp=fopen(filename,"w+"); я использую debian.

neveen neveen

Я использую что-то вроде этого, но файл не создается fp=fopen("home/pcdebian/folder/filename","w+");

Richard MacCutchan

Вам нужно добавить путь в строку имени файла с помощью команды sprintf. Вы не можете поместить имя переменной в строку и ожидать, что система поймет его.

neveen neveen

Я делаю это, спасибо