Annuler une redirection

tutu -  
 tutu -
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

tutu
 
Je viens de trouver :)

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