gerer stdin - C - Programmation
Marsh Posté le 27-04-2004 à 19:48:03
int main( int argc, char** argv ) ???
c'est la base la quand même
Marsh Posté le 27-04-2004 à 19:55:29
Oui merci, ca je connais bien, mais je vois toujours pas en quoi ca va m'aider. Mais bon, je me suis mal expliqué je pense J'ai un programme1, je veux qu'il lance un programme deux, comme le bash le ferait avec echo "bidule" | prog2
Donc oui, je sais passer des arguments a prog1, je sais lancer prog2 avec des arguments, mais je ne sais pas, a partir de prog1, gerer l'entrée standrad de prog2.
en esperant que ce soit plus clair
Marsh Posté le 27-04-2004 à 20:03:52
alors l'os est une debian (kernel 2.14.19), et le compilateur est gcc 2.95.4
Marsh Posté le 27-04-2004 à 20:06:37
alana a écrit : alors l'os est une debian (kernel 2.14.19), et le compilateur est gcc 2.95.4 |
OK .. sous windows je t'aurais dit ShellExec, regarde du coter de process() (fonction C) je crois ...
Marsh Posté le 27-04-2004 à 23:49:50
Il faut utiliser les fonctions execX comme tu mettais au début, je vois pas où est le problème!
Marsh Posté le 28-04-2004 à 02:16:32
Ben c'est quand même un peu léger de dire « Il faut utiliser les fonctions execX ». Il faut aussi du fork et du dup2, ce qui n'a rien d'evident quand on ne l'a jamais fait.
Utilise popen() comme l'a dit djdie, ça fait les fork/execve/dup2 pour toi.
Si tu veux comprendre comment faire sans popen, regarde là : http://www.gnu.org/software/libc/m [...] ing%20Jobs
Marsh Posté le 28-04-2004 à 09:25:35
matafan a écrit : Si tu veux comprendre comment faire sans popen, regarde là : http://www.gnu.org/software/libc/m [...] ing%20Jobs |
merci du lien, je mourrais moins bête
Marsh Posté le 27-04-2004 à 19:46:18
Bon j'ai un probleme vraiment tres bete.
En gros je voudrait faire ca :
echo "bonjour" | ./monprog
mais en C.
Avec les fonction execX je peux lancer monprog sans probleme, et avec
les arguments que je veux, mais je sais pas comment faire pour lui
envoyer une chaine en entrée... c'est possible ?