Bonjour;
Est-il possible de créer un std::iostream comme flux de communication direct (c-à-d sans créer de fichier intermédiaire) entre deux applications ?
Je précise : sans outils spécifiques à quelque système.
Merci
Bonjour;
Est-il possible de créer un std::iostream comme flux de communication direct (c-à-d sans créer de fichier intermédiaire) entre deux applications ?
Je précise : sans outils spécifiques à quelque système.
Merci
Je ne suis pas un spécialiste d'io mais à ce que je sais, cela suggérerai une mémoire partagée entre les applications.
Donc je dirais non.
T'écris sur stdout dans l'application 1 et tu lis sur stdin dans l'application 2, et tu fais un pipe de l'une vers l'autre.Est-il possible de créer un std::iostream comme flux de communication direct (c-à-d sans créer de fichier intermédiaire) entre deux applications ?
Si j'ai bien compris : ça veut dire que c'est pas possible.
Je me tiendrai aux fichiers intermédiaires.
Merci quand même.
Impossible en C++ standard.
- Avec les fonctions C POSIX, il suffit d'un maniement judicieux du fork() et des fichiers, sans compter la fonction POSIX popen() qui mache le travail.
- Sous Windows, la fonction C popen() est également disponible (sous le nom _popen() désormais), et il y a aussi les fonctions C de plus bas niveau, comme celles utilisées ici: Creating a Child Process with Redirected Input and Output
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager