Avrei suggerito la stessa cosa ma bisogna "resettare" il contenuto di "oss" ad ogni iterazione altrimenti il primo file aperto sarà C:\prova0.dat, poi C:\prova0.datC:\prova1.dat poi ancora C:\prova0.datC:\prova1.datC:\prova2.dat...Originariamente inviato da mondobimbi
una soluzione è combinare i due listati
codice:#include <stdio.h> #include <string> #include <sstream> #include <fstream> using namespace std; ...
basta aggiungere l'istruzione
alla fine del blocco del for, così da cancellare il contenuto di oss() prima di andarci a scrivere di nuovo.codice:oss.str("");
Inoltre suggerirei la chiusura degli stream alla fine del ciclo for con fclose(prova);
Tra l'altro, valentino86, come diceva Shodan è di gran lunga meglio usare la classe fstream se si parla di C++.