IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Problème avec les fonctions pipe et dup


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Par défaut Problème avec les fonctions pipe et dup
    Voila, je bosse actuellement sur les fonctions pipe et dup.
    J'ai déja utilisé les deux séparément et ai réussi à m'en servir jusque là correctement.

    Actuellement j'essaye de cumuler les deux de manière à:
    -Dupliquer la sortie standard vers l'entrée du pipe
    -Dupliquer l'entrée standard vers la sortie du pipe
    -Ecrire sur la sortie standard
    -Lire sur la sortie standard

    En gros je suis sensé, avec ce programme, écrire et lire réellement dans le pipe en écrivant et lisant sur la sortie standard.
    Alors je n'ai aucun problème a la compilation, mais maintenant j'aimerai bien afficher ce qu'il y a dans le pipe et je sais plus du tout comment faire -_-'

    Code : 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
    #include <string.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <string.h>
     
    int     main()
    {
      int   pipefd[2];
      char  buf[512];
      int   len;
      int   error;
      char  *str;
      int   pid;
     
      str = "Tutu";
      error = pipe(pipefd);
      dup2(pipefd[1], 1);
      dup2(pipefd[0], 0);
      if (error == -1)
        write(2, "error on pipe\n", strlen("error on pipe\n"));
      if ((pid = fork()) == -1)
        write(2, "error on fork\n", strlen("error on fork\n"));
      if (pid > 0)
        write(1, str, strlen(str));
        if (pid == 0)
        {
          len = read(0, buf, 511);
          if (len == -1)
            {
              write(2, "error on read\n", strlen("error on read\n"));
              exit(EXIT_FAILURE);
            }
          buf[len] = '\0';
          write(1, buf, len);
        }
      return(EXIT_SUCCESS);
    }
    Je sais bien que ça doit être tout bête mais en fait le write(1, buf, len) de fin dois reécrire dans le pipe et je sais pas comment le réafficher, j'ai essayé plein de trucs mais y'a rien à faire ça m'affiche rien -_-

  2. #2
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut
    j'peux te prendre ton code ?
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

Discussions similaires

  1. Problèmes avec les fonctions et replace
    Par Tommyl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/12/2006, 21h34
  2. Problème avec les fonctions
    Par gizida dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/07/2006, 14h15
  3. Réponses: 2
    Dernier message: 10/05/2005, 10h58
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo