[C] Mon Programme Sous linux Ne marche pas

Résolu/Fermé
hamidoo07 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 28 octobre 2010 - 3 janv. 2010 à 13:01
hamidoo07 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 28 octobre 2010 - 3 janv. 2010 à 16:39
Bonjour,
salut je j'ai créer un programme avec 1 processus père qui crée 2 fils et 2 pipes
fils 1 dois lire du clavier et écrire ce qu'il a lu dans le pipe 1
le père doit lire a partir de pipe 1 , convertir en majuscule et l'écrire sur pipe 2
fils 2 doit lire a partir du pipe 2 et l'afficher a l'écran
mon programme ne marche pas puisque après la saisie de ma chaine , rien n'est affiché et parfois le prompt n'est pas affiché et le shell attend encore la saisie d'autre chose
voila un lien pour vois le code source du programme

http://img689.imageshack.us/img689/8517/ssskr.jpg
A voir également:

3 réponses

hamidoo07 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 28 octobre 2010
3 janv. 2010 à 13:47
J'ai changé les pointeurs sur char par des tableaux de 100 caractere et scanf par gets et ca a marché
merci pour vous
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
3 janv. 2010 à 13:53
Salut,
Juste pour t'expliquer pourquoi ton programme ne marchait pas.
Tu utilisais des pointeurs, mais tu n'as pas réalisée l'allocation avec malloc et cie. Donc, il y avait débordement de tampon lorsque tu utilises scanf. Ainsi tu vas récrire le long de la pile. Soit t'écrases une information importante et t'auras un segfault, soit tu auras des résultats étranges. Dans tous les cas, il s'agit d'une erreur à corriger.
Pour corriger, il suffit soit d'allouer correctement, soit d'utiliser un tableau comme tu l'as fait.

Cdlt,
0
hamidoo07 Messages postés 111 Date d'inscription samedi 18 octobre 2008 Statut Membre Dernière intervention 28 octobre 2010
3 janv. 2010 à 16:39
merci Cdit
0