Skip to main content

Write a program to create a pipe and share between parent and child process. Parent writes content to pipe from the file and child reads the content and display number of characters.

#include
#include
#include
#include

main(int agrc,char *argv[])
{
    int fd[2],pid,n,f,ch;
    char buffer[2048];

    if(pipe(fd)==-1)
    {
        printf(" problem to create the pipe \n ");
        exit(0);
    }
    else
    {
        pid=fork();

        if(pid!=0)
        {

            close(fd[0]);
            f = open("hardik",O_RDONLY);
            while((n = read(f,buffer,2048)) > 0)
            {
                write(fd[1],buffer,n);
            }
            close(fd[1]);
        }
        else
        {
            close(fd[1]);
            ch = 0;
            while((n=read(fd[0],buffer,2048)) > 0)
            {
                ch = ch + n;
            }
            printf("Number of Charecter:-%d",ch-1);
            close(fd[0]);
        }

    }
}

Comments