What is the output of this program?
#include<stdio.h>
#include<fcntl.h>
int main()
{
int fd;
char buff[512];
if( mkfifo("/tmp/test_fifo",0666) == -1)
perror("mkfifo");
fd = open("/tmp/test_fifo",O_RDONLY);
read(fd,buff,512);
printf("%s\n",buff);
return 0;
}
#include<stdio.h>
#include<fcntl.h>
int main()
{
int fd;
char buff[512];
if( mkfifo("/tmp/test_fifo",0666) == -1)
perror("mkfifo");
fd = open("/tmp/test_fifo",O_RDONLY);
read(fd,buff,512);
printf("%s\n",buff);
return 0;
}A. this program will print the garbage of 512 bytes
B. this program will print nothing
C. segmentation fault
D. none of the mentioned
Answer: Option B

Join The Discussion