begin process at 2012 05 30 16:07:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Shell

 > 

Redirection du flux de la commande system()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Redirection du flux de la commande system()

mercredi 10 septembre 2008 à 11:08:17 | Redirection du flux de la commande system()

foufy68

Bonjour à tous,
J'aimerai savoir s'il est possible de rediriger le flux de sortie de la commande "system" ( system("dir c:\\*.exe") par exemple)  vers une variable.
Je sais qu'il est possible de le rediriger vers un fichier texte de la manière suivante system("dir c:\\*.exe > Res.txt") mais pour des raisons de simplicité j'aimerai mettre le résultats de la recherche directement dans une variable , genre un tableau.

Est-ce que quelqu'un aurait une solution??

Merci d'avance.
lundi 15 septembre 2008 à 12:52:33 | Re : Redirection du flux de la commande system()

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Sous Windows, tu peux envoyer la sortie dans un pipe, et lire se pipe pour mettre son contenu dans une variable.

Exemple ici.

J'utilise CreateProcess à la place de system (C'est ce qui est fait en interne quand on utilise system sous Windows), et je précise que la sortie standard du processus créé doit se faire dans le pipe.

Quoiqu'il en soit, il est souvent préférable de se passer du DOS (Au moins du cmd /C quand c'est possible).
mardi 18 novembre 2008 à 11:10:33 | Re : Redirection du flux de la commande system()

jdex

Je profite de ce post pour poser une question.. Je désire faire la même chose que lui mais je n'arrive pas à récupérer le flux au fur et a mesure. j'ai accès au flux uniquement à partir de la fin du programme lancé par create process... J'utilise des pipes anonyme plus un thread pour la lecture. Faut il utiliser des pipes nommés pour effectuer ce que je souhaite faire?
mardi 18 novembre 2008 à 11:26:19 | Re : Redirection du flux de la commande system()

rt15

Membre Club Administrateur CodeS-SourceS
Tu n'es pas obligé d'utiliser des pipes nommés.

Tu as regardé le lien que j'ai donné ?

C'est précisément de la récupération au fil de l'eau dont il est question.

Dans l'avant dernier post de la première page, il y a une application complète qui le fait.

mercredi 19 novembre 2008 à 09:30:42 | Re : Redirection du flux de la commande system()

jdex

En fait c'est mon programme marchait depuis le début. Sauf qu'il ne fonctionne pas avec tout les programmes. J'ai 2 programmes avec lesquel sa fonctionne du tonnerre et un autre ou je ne récupère la sortie qu'a la fin de ce dernier... Je ne comprend pas trop pourquoi. Petite description du programme qui ne fonctionne pas: Il lance une console ou utilise celle déjà lancée, puis affiche dans une fenêtre une image, on peut sélectionner une zone et en appuyant sur entrée, le nombre de zones et les coordonnées de celles - ci s'affiche sur la console.
mercredi 19 novembre 2008 à 09:50:04 | Re : Redirection du flux de la commande system()

rt15

Membre Club Administrateur CodeS-SourceS
Ah...

Sinon il y a la solution du hook d'API.

Hooker WriteConsole, et WriteFile si WriteConsole ne suffit pas.

Mais bon ça se codera pas en 2 secondes...


Cette discussion est classée dans : possible, system, commande, flux, redirection


Répondre à ce message

Sujets en rapport avec ce message

commande system sur c++ [ par overfun ] Comment fait-on pour executer une commande dos sur c++ ? merci Fct system() [ par benja140 ] Voila le code :system(dir c:\\%1, rep)Bien, ce n'est pas possible avc la fonction system, dc j'aurai voulu savoir comment ce ci est possible a effectu pas voir une commande system() [ par bapt1080 ] j'aimerais savoir si il est possible de ne pas voir la fenêtre system apparaitre et se refermer quand on lance une commande system()(system(dir)par ex Redirection E/S vers un Xterm en C [ par thetical ] je developpe actuellement un outil qui me permet d'utiliser Openssh enlancant plusieurs connexions simunltanees vers des host.ce que je n'arrive pas a PING pb avec system() Visible [ par JCpp ] Je voudrai réaliser un prog. PINGJ'en ai trouvé un prog. que je trouve bien, et qui est rapide pour savoir ci il y a un serveur avant de réaliser un s Comment récupérer le flux de la cmd system dans une variable [ par PRZYBYLSKI ] J'ai une questionComment je peux recuperer le flux de la cmd system dans une variable.Cette exemple est juste une image qlq peut me mettre sur la voie Problème - system() [ par Tub 95 ] Bonjour à tous,Je voudrais effectuer un petit programme en C qui me présente un menu enfin de lancer à partir de ce menu des application !Pour ceci j' Help commande "system(char *commande) [ par Lnx ] Bonjour,j'ai un petit soucis avec la commande system(cher command)j'ai " nom de commande ou de fichier incorrecte", alors qu'avec un toto.bat ça fonct Commande System en background [ par thierryga ] Bonjour,Je développe une interface MFC et souhaite lancer desexécutables en tâche de fond par l'intermédiaire de lafonction "system". Or à chaque appe system() - redirection [ par fcbouan ] bonjour,je voudrais savoir s'il y a un moyen pour rediriger le 'flux' avec system(" tar -czvf fichierdest fichiersource") vers un socket ( vers un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales