comment restaure les entree clavier et sortie ecran en c sous unix apres les avoir fermee avec close(0); et close(1); ????
comment restaure les entree clavier et sortie ecran en c sous unix apres les avoir fermee avec close(0); et close(1); ????
les filedescriptor 0 et 1 n'ont pas besoin d'etre ouvert, il est par consequent inutile de les fermer...
j'avoue ne pas savoir ce quil se produit si on les fermes, mais je sais que j'ai deja write sur 1 et read sur 0 sans open ni close et je n'ai jamais eu de probleme![]()
fermer les entr�es stdin et stdout permet de les rediriger (en mettant un autre fichier � la place)
ainsi, on redirige, par exemple, tout ce qui est �crit sur stderr dans un fichier � part, ou tout ce qui saisi dans stdout dans un socket.
pour les r�tablir, tu peux peut-�tre essayer de copier le fichier avant de le supprimer.
stdin doit �tre un FILE *, essaie peut-�tre de faire
FILE tmpStdin = & stdin; mais bon chuis pas sur du tout que �a marchera
Salut,
Il y a un moyen tout simple : dup() et dup2()
Ces deux fontions cr�es une copie d'un descripteur de fichier.
+ d'info ici:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 int old_stdin, old_stdout; old_stdin = dup (0); /* On copie le descripteur de stdin */ old_stdout = dup (1); /* On copie le descripteur de stdout */
http://www.developpez.net/forums/viewtopic.php?t=45287
a++
adiGuba [