Une question générale de l'écriture à des fichiers dans une boucle et en dehors d'une boucle:écrire dans le fichier dans un cpp boucle
suppose que j'ai le code suivant:
# include <iostream>
# include <string>
# include <fstream>
# include <sstream>
using namespace std;
void printToFile(string name, double **Array)
{
ofstream myfile;
myfile.open(name);
for (unsigned int m=0; m<5; m++)
{
for (unsigned int n=0; n<10; n++)
{
myfile << Array[m][n] << " ";
}
}
myfile.close();
}
int main()
{
int i,j;
double **Arr;
string str;
ostringstream oss;
for (i=0; i<5; i++)
{
for (j=0; j<10; j++)
{
// some calculation that yields Arr with size [5][10]
str="";
oss << "Arr_j_"<<j+1<<"_i_"<<i+1<<".txt";
str = oss.str();
printToFile(str,Arr);
}
}
return 0;
}
Je ne peux pas sembler obtenir le nom des fichiers à droite, ce que je reçois est:
de plus, ma finition d'exécution de code mais les fichiers de sortie arrêtent à i=2
, j'apprécierions également des commentaires dont la vapeur à utiliser (ostream
, fstream
, sstream
, etc ...)
lieu de 'ofstream mon_fichier; myfile.open (name); 'utilise l'initialisation:' ofstream myfile (nom); Et vous n'avez pas besoin de fermer explicitement le fichier. Le destructeur le fait. –