problemas con el uso de tuberias

Iniciado por xservice, 5 Septiembre 2013, 02:38 AM

0 Miembros y 1 Visitante están viendo este tema.

xservice

Hola a todos, pues bien tengo un pequeño con un problema con tuberias  lo que sucede es que tengo el siguiente código y necesito modificarlo para que determine cual es el tamaño de la tubería en el sistema, alguna sugerencia? , espero y me puedan ayudar, de antemano muchas gracias
                                                               

Código (cpp) [Seleccionar]
# include <sys/types.h>
# include <unistd.h>
# include <stdlib.h>
# include <stdio.h>
# include <string.h>
int main ()
{
       int bytes_enviados, bytes_leidos, i, descriptor_archivo [2];
       char buffer [BUFSIZ + 1];
       pid_t pid;

       if (pipe(descriptor_archivo) == 0){
               pid = fork ();
               if (pid == -1) {
                       perror ("Error al ejecutar fork");
                       exit (-1);
               }
               if ( pid == 0) { //Proceso hijo
                       for(i = 1; i < 27; i++){
                               memset(buffer, '\0', sizeof(buffer));
                               bytes_leidos = read(descriptor_archivo[0], buffer, BUFSIZ);
                               printf("El proceso hijo ha leido %d bytes y el contenido es : %s\n", bytes_leidos, buffer);
                       }
                       exit (0);
               }
               else { //Proceso Padre
                       for( i = 65; i < 91; i++){
                               bytes_enviados = write(descriptor_archivo[1], (char*) &i, sizeof(char));
                               printf("El proceso padre ha enviado por la tuberia %d bytes \n", bytes_enviados);
                               sleep(1);
                       }
               }
       }
       exit (0);
}