Aide langage C programme
Perezlyon
-
caltoune -
caltoune -
Aide programme Langage C :
Bonjour à tous,
Je débute en programmation, notre prof nous a donné un programme à analyser, je ne pense pas avoir compris donc je me tourne vers vous pour obtenir de l'aide.
voici le code du programme :
int main()
{ int fd[2], i=2;
char ch[100];
while (i)
{ pipe(fd);
if(fork())
{ close(fd[0]);
dup2(fd[1],1);
close(fd[1]);
break;
}else
{ close (fd[1]);
dup2(fd[0],0);
close(fd[0]);
}
i--;
}
scanf("%s",ch);
printf('%s/n",ch);
exit(0);
}
Déja il y a il me semble ouverture d'un canal de communication par le pere puis création du fils. Par contre je ne comprends pas la primitive Dup2.
Il y a affichage des variables contenues dans le tableau CH ?
Merci par avance pour votre aide
Bonjour à tous,
Je débute en programmation, notre prof nous a donné un programme à analyser, je ne pense pas avoir compris donc je me tourne vers vous pour obtenir de l'aide.
voici le code du programme :
int main()
{ int fd[2], i=2;
char ch[100];
while (i)
{ pipe(fd);
if(fork())
{ close(fd[0]);
dup2(fd[1],1);
close(fd[1]);
break;
}else
{ close (fd[1]);
dup2(fd[0],0);
close(fd[0]);
}
i--;
}
scanf("%s",ch);
printf('%s/n",ch);
exit(0);
}
Déja il y a il me semble ouverture d'un canal de communication par le pere puis création du fils. Par contre je ne comprends pas la primitive Dup2.
Il y a affichage des variables contenues dans le tableau CH ?
Merci par avance pour votre aide
A voir également:
- Aide langage C programme
- Langage ascii - Guide
- Programme demarrage windows - Guide
- Langage binaire - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
4 réponses
Dup2 >>> http://www-igm.univ-mlv.fr/~dr/cs/node60.html
oui il y a affichage des valeurs du tableaux CH, une par ligne si je ne me trompe même si je n'ai jamais fait de C :P
oui il y a affichage des valeurs du tableaux CH, une par ligne si je ne me trompe même si je n'ai jamais fait de C :P
de mémoire le descripteur de fichier 0 et le descripteur 1 sont associé à la sortie standard.
le fork sépare l'exécution en deux et partage le même espace mémoire qui est les quelques déclarations avant le fork. ledup2 sert à construire le pipe donc changer le comportement ititial des deux descripteurs.
Le résultat devrait être une inversion de l'entrée standart avec la sortie standart...Sous toute réserve
Qu'en pensez vous? En tout cas beau programme :)
le fork sépare l'exécution en deux et partage le même espace mémoire qui est les quelques déclarations avant le fork. ledup2 sert à construire le pipe donc changer le comportement ititial des deux descripteurs.
Le résultat devrait être une inversion de l'entrée standart avec la sortie standart...Sous toute réserve
Qu'en pensez vous? En tout cas beau programme :)