pipe5.c

来自「Linux程序设计(原书第2版)源码」· C语言 代码 · 共 39 行

C
39
字号
#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <string.h>int main(){    int data_processed;    int file_pipes[2];    const char some_data[] = "123";    pid_t fork_result;    if (pipe(file_pipes) == 0) {        fork_result = fork();        if (fork_result == (pid_t)-1) {            fprintf(stderr, "Fork failure");            exit(EXIT_FAILURE);        }        if (fork_result == (pid_t)0) {            close(0);            dup(file_pipes[0]);            close(file_pipes[0]);            close(file_pipes[1]);            execlp("od", "od", "-c", (char *)0);            exit(EXIT_FAILURE);        }        else {            close(file_pipes[0]);            data_processed = write(file_pipes[1], some_data,                                   strlen(some_data));            close(file_pipes[1]);            printf("%d - wrote %d bytes\n", (int)getpid(), data_processed);        }    }    exit(EXIT_SUCCESS);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?