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
Version imprimable
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.Citation:
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