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 :
La sortie ce fais bien au fichier.
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 !!
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 :
MAIS CECI NE FONCTIONNE PAS PLUS !! A L'AIDE !!
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);
MERCI !!!
MERCI !!!
Titre "raccourci" par Hdd34 : aucun sujet n'est plus urgent qu'un autre...
Ajout des balises code
Partager