angelseb | J'ai un petit programme à effectuer. Le processus père envoie au fils une chaîne de caractères, ici "bonjour", le fils la met en majuscule et la renvoie au père qui répond "merci".
J'ai réussi à faire communiquer les processus entre eux. Le seul problème qui me reste est que je ne sais pas comment convertir tout en majuscule la chaîne de caractère.
Après quelques recherches, j'ai lu qu'il fallait utiliser la fonction toupper() qui convertit simplement un caractère. Il faudrait concaténer chaque lettre du mot dans une autre chaîne de caractère. Cela est-il possible? Si oui, quelqu'un pourrait-il m'indiquer la ligne de code à rajouter en m'expliquant svp? Merci d'avance
Code :
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
- int main(){
- int fils;
- int p1[2];
- int p2[2];
- int p3[2];
- int data;
- pipe(p1);
- pipe(p2);
- pipe(p3);
- if((fils=fork())==0)
- {
- char tampon[10];
- close(p1[1]);
- close(p2[0]);
- close(p3[1]);
- data=read(p1[0],tampon,10);
- printf("le mot est %s\n",tampon);
- data=write(p2[1],tampon,10);
- data=read(p3[0],tampon,10);
- printf("enfin la réponse du pere est : %s\n",tampon);
- }
- else
- {
- char rep[10];
- close(p1[0]);
- close(p2[1]);
- close(p3[0]);
- data=write(p1[1],"bonjour",10);
- data=read(p2[0],rep,10);
- printf("la reponse du fils est : %s\n",rep);
- data=write(p3[1],"merci",10);
- }
- }
|
|