Part A-3
Run the two programs
simultaneously on two terminals.
Pgm-3
#include <stdio.h> #include <string.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> int
main() { int fd; // FIFO file path char * myfifo
= "/tmp/myfifo"; // Creating the named file(FIFO) // mkfifo(<pathname>,
<permission>) mkfifo(myfifo, 0666); char arr1[80],
arr2[80]; while (1) { // Open
FIFO for write only fd =
open(myfifo, O_WRONLY); // Take an
input arr2ing from user. // 80 is
maximum length fgets(arr2,
80, stdin); // Write
the input arr2ing on FIFO // and
close it write(fd,
arr2, strlen(arr2)+1); close(fd);
// Open
FIFO for Read only fd =
open(myfifo, O_RDONLY); // Read
from FIFO read(fd,
arr1, sizeof(arr1)); // Print
the read message printf("User2:
%s\n", arr1); close(fd);
} return 0; } |
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
int fd1;
// FIFO file path
char *
myfifo = "/tmp/myfifo";
// Creating the named file(FIFO)
//
mkfifo(<pathname>,<permission>)
mkfifo(myfifo, 0666);
char str1[80],
str2[80];
while (1)
{
// First
open in read only and read
fd1 =
open(myfifo,O_RDONLY);
read(fd1,
str1, 80);
// Print the
read string and close
printf("User1:
%s\n", str1);
close(fd1);
// Now open
in write mode and write
// string
taken from user.
fd1 =
open(myfifo,O_WRONLY);
fgets(str2,
80, stdin);
write(fd1,
str2, strlen(str2)+1);
close(fd1);
}
return 0;
}
Comments
Post a Comment