AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal

 

 [C++] Rediriger les textes console

Aller en bas 
4 participants
AuteurMessage
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

[C++] Rediriger les textes console Empty
MessageSujet: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyMer 15 Oct 2014 - 22:11

Salut a tous,
Je voulais savoir s'il était possible de rediriger les textes de la console vers une application en particulier et non par l'invité de commande sous windows ?
Par exemple, je crée une application console "truc.exe" avec :

Code:
int main(int argc, char**argv)
{
    cout<<"Hello world";
}



et dans mon application "MonApplication.exe", que lorsque je lance truc.exe, le cout se redirige dessus, dans MonApplication.exe
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyJeu 16 Oct 2014 - 0:20

Salut gabin49,

Oui tu peux utiliser pour ceci Boost.Process. La librarie est très stable mais n'a pas encore été intégrée dans boost, elle est très stable et n'a juste pas passé de review depuis longtemps parce que ses développeurs ont pas trop le temps.

http://www.highscore.de/boost/process0.5/

Comment récupérer la sortie du programme que tu démarres :
http://www.highscore.de/boost/process0.5/boost_process/tutorial.html#boost_process.tutorial.synchronous_i_o

Tu peux télécharger cela ici : http://www.highscore.de/boost/process0.5/process.zip

J'ai déjà pas mal bossé avec et je trouve que cela marche du tonerre sur toutes les plateformes grâce une bonne abstraction du principe des processus.

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
[C++] Rediriger les textes console U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
arthuro
Utilisateur confirmé: Rang ****
arthuro


Messages : 1482
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptySam 18 Oct 2014 - 20:46

Sous linux, ce que tu voudrais faire est un pipe |
par exemple : p1.exe | p2.exe
En gros rediriger la sortie d'un programme vers l'entrée d'un autre.

J'ai regardé si il y avait un équivalent dans Windows.
Entonnement oui.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

J'ai pas essayé, donne nous des nouvelles.

tuto:
-faire tes 2 programmes:
-ouvre une console (ctrl+R -> programme:cmd). Une fenêtre noir s'ouvre.
-dirige toi vers un répertoire contenant tes 2 programmes : "cd <ton répertoire>"
-p1 | p2 (ou bien p1.exe | p2.exe)

J'espère que cela ton conviendra.

_________________
[C++] Rediriger les textes console Pochette[C++] Rediriger les textes console Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptySam 18 Oct 2014 - 22:41

ouais mais le principe c'est que je veux faire une appli console. on peut pas faire de cin>> avec le pipe.
Je devrai regarder pour boost mais jai jamais reussi a le compiler (le module process et thread Razz...
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyDim 19 Oct 2014 - 19:19

Tu peux décrire précisément ce que tu veux ?
Parce que hier, j'ai voulu répondre comme arthuro. Mais je me doutais que ce n'est pas ce que tu voulais.

Les deux programmes sont à toi ? Tu veux les faire communiquer ? Y a d'autres moyens plus simple que les pipes via processus pour le faire. Typiquement, un système de message via un fichier/sqlite/redis/whatever.
Tu veux que n1 aille écrire et lire stdout et stdin de n2 ? Ça ne doit pas être compliqué à faire, faut faire un parser sur n1. Pas compliqué à réaliser sur papier, mais à implémenter, ça peut vite être ******.
Tu veux que stdout de n1 aille dans stdin de n2 ? La solution a déjà été donnée.

Et je peux encore continuer comme ça. Essaye d'expliquer clairement ce que tu veux pour avoir une réponse claire. On serait sur stackoverflow, ta question serait fermé direct.
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyDim 19 Oct 2014 - 21:48

c'est vrai que c'est peut etre mal expliqué ^^

En fait, on va admettre que je veux remplacer la console parce qu'elle est moche XD (mais c'est plus complexe). Si je lance n2 via "run n2" par exemple ou simplement "n2", tout le texte qui sort de n2 grace a des "echo" ou a des "stdout", je veux les rediriger vers mon application qui fera office de console a son tour (car elle la remplace). 
Comme tu l'as dit, "[Je] veux que n1 aille écrire et lire stdout et stdin de n2" sachant que n1 est mon application
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Sekigo Le Magnifique
Utilisateur confirmé: Rang *****
Sekigo Le Magnifique


Messages : 1720

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyDim 19 Oct 2014 - 23:10

C'est déjà plus clair. Tu veux un wrapper autour d'un logiciel pour "améliorer" son interface, sans toucher au logicel ciblé.

En gros, tu veux un machin comme ça: Pexpect
En recherchant vite fait sur le net, on tombe sur un truc nommé libexpect en C++. Un exemple d'utilisation ici.

Par la même, ça m'intéresse (le premier lien) parce que j'avais eu un besoin similaire quand j'ai commencé mon travail actuel. On était sous Windows (ça a changé, ouf) et j'avais besoin d'afficher les caractères étrangers dans cette saloperie de console windows pour utiliser un logiciel en cli que j'avais fait.
Du coup, j'ai fais un wrapper en Qt, mais j'avais le contrôle sur la source et la cible. Si jamais j'ai un besoin similaire, y a déjà un truc tout fait qui existe.
Revenir en haut Aller en bas
https://2img.net/image.noelshack.com/old/up/gmzonecbna-3cfbc56d25.jpg
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyMar 21 Oct 2014 - 21:43

gabin49 a écrit:
ouais mais le principe c'est que je veux faire une appli console. on peut pas faire de cin>> avec le pipe.
Je devrai regarder pour boost mais jai jamais reussi a le compiler (le module process et thread Razz...
C'est header only, Boost.Process n'est pas Boost.Thread ou Boost.Interprocess, suffit d'inclure les headers.

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
[C++] Rediriger les textes console U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console EmptyMar 21 Oct 2014 - 23:35

ah ok pour process, c'est mal lu XD
mais pour boost thread, c'est parfois bien dommage :/
si quelqu'un sait comment le compiler avec C::B, je suis a l'ecoute Wink
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Contenu sponsorisé





[C++] Rediriger les textes console Empty
MessageSujet: Re: [C++] Rediriger les textes console   [C++] Rediriger les textes console Empty

Revenir en haut Aller en bas
 
[C++] Rediriger les textes console
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Plusieurs textes
» [Exemple] Textes divers (lien mort)
» [Linux] Où tu t'endors tellement les textes sont longs
» [gml] console
» Chat/console

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: