In C++
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
int n=3;
for(int i=0; i<n; i++)
{
ostringstream f;
f << "Prova" << i+1 << ".txt";
ofstream prova (f.str());
prova << "file\t" << i+1;
prova.close();
}
return 0;
}
P.S. Ti sembra di avere file con lo stesso nome perché crei file con un carattere diverso 1 2 3 ... che non puoi vedere in quanto binario, non ASCII.
Questo (comunque assurdo) codice funziona se scrivi f[5]=I+1+'0';
P.P.S. Il codice di candaluar ovviamente funziona, hai sbagliato qualcosa ...