Bonjour,
Je fais un programme qui simule un shell et ses redirections.
Par exemple : ls -l > toto.txt
Pour ce faire j'utilise le dup2().
voici un peu ce que je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
int desc_fich_sortie;
desc_fich_sortie = open("sortie.txt" O_WRONLY | O_NONBLOCK,0);
close(1);
dup2(desc_fich_sortie, 1);
......traitement en sortie dans "sortie.txt".....
dup2(1, 1); // JE VEUX RÉTABLIR LA SORTIE STANDARD !!
La sortie ce fais bien au fichier.
MAIS C'EST ICI MON PROBLEME. Apres je veux réafficher a la sortie standard. Mais ca ne marche plus

J'avais essayer ceci aussi et ca ne marche pas plus :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
int	descripteur[2];
pipe (descripteur);
descripteur[1] = atoi("sortie.txt");
dup2(descripteur[1], 1);
......traitement en sortie dans "sortie.txt".....
close(descripteur[1]);
//ET
dup2(1, 1);
MAIS CECI NE FONCTIONNE PAS PLUS !! A L'AIDE !!
MERCI !!!
MERCI !!!


Titre "raccourci" par Hdd34 : aucun sujet n'est plus urgent qu'un autre...
Ajout des balises code