Je souhaite utiliser cet extrait de Mr-Edd's iostreams article pour imprimer quelque part std :: clog.rediriger std :: cout vers un écrivain personnalisé
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
int main()
{
std::ostringstream oss;
// Make clog use the buffer from oss
std::streambuf *former_buff =
std::clog.rdbuf(oss.rdbuf());
std::clog << "This will appear in oss!" << std::flush;
std::cout << oss.str() << '\\n';
// Give clog back its previous buffer
std::clog.rdbuf(former_buff);
return 0;
}
donc, dans un mainloop, je ferai quelque chose comme
while (! oss.eof())
{
//add to window text somewhere
}
Voici le ostringstream docs mais je vais avoir du mal à comprendre la meilleure façon de le faire. J'ai une méthode qui affiche le texte, je veux juste l'appeler avec toutes les données dans l'autrutream.
Quel est le moyen le plus simple/le meilleur pour envoyer n'importe quoi à std :: clog redirigé vers une méthode de mon choix? est-ce comme ci-dessus, et remplissez le moment! eof partie (pas sûr comment), ou y a-t-il un meilleur moyen, disons en surchargeant un opérateur 'commit' quelque part qui appelle ma méthode? Je bloque pour rapide et facile, je ne veux vraiment pas commencer à définir des puits et autres avec des iostreams boost comme le fait l'article - ce truc est bien au-dessus de ma tête.
pourrait vous être plus clair sur ce que votre question est? –