Annuler une redirection

Fermé
tutu - 21 déc. 2004 à 22:57
 tutu - 21 déc. 2004 à 23:21
Bonsoir a tous,

J'ai un probleme en programmation systeme Unix en C :
Voici le code :

int tube[2];

dup2(tube[0], STDIN_FILENO);

Avec ceci je redirige l'entree standart vers tube[0]. C'est a dire que lorsque le programme va lire a l'entree standart, il lira dans tube[0].

Seulement, par la suite j'ai besoin d'annuler cette redirection. C'est a dire que je ne veux plus lire l'entree standart dans tube[0]. Je veux que cela redevienne normal.

Une solution ?

merci.

1 réponse

Je viens de trouver :)

Pour annuler il faut faire lire l'entree standart à la sortie standart tout simplement :
dup2(STDOUT_FILENO, STDIN_FILENO);
0