美文网首页
linux c有名管道通信

linux c有名管道通信

作者: 一路向后 | 来源:发表于2021-08-30 21:14 被阅读0次

1.r.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

int main()
{
    char str[15];
    int fd;
    int i;

    if((fd=open("ttfifo", O_RDONLY)) < 0)
    {
        perror("open");
        return -1;
    }

    for(i=0; i<10; i++)
    {
        read(fd, str, 15);
        printf("%s", str);
    }

    close(fd);

    return 0;
}

2.w.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

int main()
{
    int fd;
    int i;

    mkfifo("ttfifo", 0777);

    if((fd=open("ttfifo", O_WRONLY)) < 0)
    {
        perror("open");
        return -1;
    }

    for(i=0; i<10; i++)
    {
        write(fd, "hello world\n", 15);
    }

    close(fd);

    return 0;
}

3.编译源码

$ gcc -o r r.c
$ gcc -o w w.c

4.运行及其结果

$ ./w
$ ./r
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world

相关文章

网友评论

      本文标题:linux c有名管道通信

      本文链接:https://www.haomeiwen.com/subject/afooiltx.html