bonsoir, je veux creer npipes et n processus , dans mon cas je vais prendre 4 pipes .. je lis sur l'entrée strandard et j'ecris dans le premier tube et ainsi de suite jusqu'au dernier qui ecrit sur la sortie standard.

voici mon code . est 'il correct car quand je l'execute il me donne pas la main pour introduire une donnée avec le clavier(entrée standard).
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/wait.h> 
 
int main() {
 
int n,i=0, t[2];
char buffer [512];
 
for(i;i>4;i++)
 
{
 
	/*creer le tube*/
 
	  if (pipe(t) == -1){  
		perror("pipe"); 
		exit(1);
  		 }
	printf("Le tube %d\n",i);
 
 
       /*dupliquer un processus*/
 
	switch(fork()){
		case -1:
			{
			printf("erreur\n"); 
			exit(1);
			}
 
		case 0 : /*fils*/
 
			/*fermer la sortie du tube*/
			 close (t[1]);
			/* lecture du tube*/
                         while ((n=read(t[0],buffer,sizeof(buffer)))>0)
			/*ecriture sur la sortie standard*/
			 write(1,buffer,n);
			/*fermer la sortie du tube*/
			close(t[0]);
			exit(0);
 
 
		default: /*le père*/
 
			/*fermer la sortie du tube*/
			close (t[0]);
 
			/*lecture de l'entrée standard*/
			while((n=read(1,buffer,sizeof(buffer)))>0)
			/*ecriture dans le tube*/
			write(t[1],buffer,n);
			/*fermer l'entrée du tube*/
			close(t[1]);
 
 
 
		}
 
}
exit(EXIT_SUCCESS);
 
}

merci d'avance