Comment pourrais-je rediriger stdin (istream) à wxWidgets?
Question
Je suis en train de comprendre comment rediriger istream à wxWidgets.
Je suis en mesure d'accomplir la réorientation ostream, voici comment (vous savez ce que je veux dire):
wxTextCtrl* stdoutctrl = new wxTextCtrl(...);
wxStreamToTextRedirector redirect(stdoutctrl); //Redirect ostream
std::cout<<"stdout -- does this work?"<<std::endl; //It worked.
Je cherchais depuis un certain temps maintenant, et je suis incapable de savoir je réoriente istream à une sorte de WX-entrée (donc un « cin » serait en fait demander à l'utilisateur pour l'entrée par wxWidgets).
La solution
Non, il n'y a pas construit de manière à faire car il est beaucoup moins fréquent de vouloir rediriger cin
comme celui-ci par rapport à cout
. Et il est aussi pas vraiment clair comment attendez-vous à travailler, à savoir que vous pouvez probablement pas la carte juste à un wxTextCtrl
comme vous le faites avec cout
. Et plus généralement, la lecture est une opération de blocage, contrairement à l'écriture, il ne sait pas du tout comment pouvez-vous structurer votre application graphique pour le faire.
En bref, je ne pense pas que vous pouvez transférer votre programme de console à l'aide cin
à wxWidgets comme ça du tout.