J'ai une fonction void draw()
dans une classe qui affiche les données membres de la classe à l'écran. Existe-t-il un moyen de sauvegarder toutes les données dans un fichier .txt
en utilisant cette même fonction draw()
?Enregistrer la sortie d'une fonction vide dans un fichier .txt
Je pensais que sur l'ajout d'une fonction d'aide qui reçoit un rendement ostream&
et demande draw()
:
ostream& Widget::aid(ostream& tt) const
{
draw();
return tt;
}
Le problème est, qu'une adresse est enregistrée dans le fichier au lieu de données lorsque je tente de le faire de cette façon .
Est-ce une solution d'appeler le programme ./program> file.txt? Cela sauvera toute la sortie du programme dans file.txt dans la plupart des distributions Linux. Votre solution proposée ne changera rien non plus, puisque draw() utilise probablement std :: cout ou printf(). –
Si votre fonction 'draw()' utilise 'std :: cout' alors vous pouvez utiliser' cout.rdbuf (newbuffer) 'en l'associant à une autre destination. –
Je voudrais modifier la signature draw() pour recevoir le dessin suivant (ostream & tt = std :: cout) 'si aucun ostream n'est donné, il imprimera sur la console –