Скажем, у меня есть программа, которая делает последующие:Создать цикл для записи нескольких файлов на C++?
for (i=1; i<10; i++)
{
computeB(i);
}
где computeB
просто выводит список значений
computeB(int i)
{
char[6] out_fname="output";
//lines that compute `var` using say, Monte Carlo
string fname = out_fname + (string)".values";
ofstream fout(fname.c_str());
PrintValue(fout,"Total Values", var);
}
из другого файла:
template <class T>
void PrintValue(ofstream & fout, string s, T v) {
fout << s;
for(int i=0; i<48-s.size(); i++) {
fout << '.';
}
fout << " " << v << endl;
}
Перед реализацией, что loop, computeB
только что выдает один файл значений. Теперь я хочу, чтобы он создал несколько значений. Итак, если он изначально создал файл с именем «output.values», как я могу написать цикл, чтобы он создавал «output1.values», «output2.values», ..., «output9.values»?
EDIT: Я забыл упомянуть, что исходный код использовал функцию PrintValue
для вывода значений. Первоначально я пытался сэкономить пространство и исключить это, но я просто вызвал замешательство
@ user4352158, это трудно сказать, где вещи могли поступили неправильно, не увидев фактический код, который вы используете для компиляции. Попробуйте опубликовать [MCVE] (http://stackoverflow.com/help/mcve). –