codice:
#include <sstream>
#include <fstream>
using namespace std;

//...

ostringstream nomeFile;
ofstream os;
const int datiPerFile=100000; //numero di dati per file
for(/* quello che è */)
{
    if(i%datiPerFile==0) //supponendo che i sia il contatore dei dati scritti
    {
        os.close();
        nomeFile.str("");
        nomeFile<<"prova"<<i/datiPerFile+1<<".txt";
        os.open(nomeFile.str().c_str());
        if(!os)
        {
            cerr<<"Impossibile aprire il file di output."<<endl;
            //gestisci l'errore in qualche maniera
        }
    }
    os<<dato;
    //...
}
os.close();