Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    output su file con nome arbitrario

    Ciao a tutti! Ho un problema facile facile ma non mi so districare.
    Ho un file txt molto grande con milioni di dati e volevo dividerlo in tanti txt di un certo numero di dati. Come faccio usando c++? (il txt con milioni di dati lo sto generando con un programmino che ho scritto io, quindi quello che vorrei fare non è aprire un file che già esiste e dividerlo, ma arrivati ad esempio a 100.000 dati smette di inserirli in quel file e ne crea un altro)

    Il mio problema è che come sto facendo metto in compilazione il nome del file, cioè:

    codice:
    ofstream prova("prova.txt", ios::out);
    prova<<dato;
    vorrei che dopo aver inserito 100.000 dati inserisse quelli dopo in prova2.txt poi i successivi in prova3.txt... Come faccio a fare in modo che crei più file con nomi diversi?

    Grazie mille!
    Fai uno scherzo ai tuoi amici! Manda un'email anonima! Decidi tu il mittente delle tue email! Clicca qui!

  2. #2
    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();
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    grazie mille! sei stato più che fantastico!!
    Fai uno scherzo ai tuoi amici! Manda un'email anonima! Decidi tu il mittente delle tue email! Clicca qui!

  4. #4
    Prego, alla prossima!
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.