pipe.c
来自「一个C源代码分析器」· C语言 代码 · 共 67 行
C
67 行
#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>/* Read characters from the pipe and echo them to @code{stdout}. */void read_from_pipe (int file){ FILE *stream; int c; stream = fdopen (file, "r"); while ((c = fgetc (stream)) != EOF) putchar (c); fclose (stream);}/* Write some random text to the pipe. */void write_to_pipe (int file){ FILE *stream; stream = fdopen (file, "w"); fprintf (stream, "hello, world!\n"); fprintf (stream, "goodbye, world!\n"); fclose (stream);}intmain (void){ pid_t pid; int mypipe[2];/*@group*/ /* Create the pipe. */ if (pipe (mypipe)) { fprintf (stderr, "Pipe failed.\n"); return EXIT_FAILURE; }/*@end group*/ /* Create the child process. */ pid = fork (); if (pid == (pid_t) 0) { /* This is the child process. */ read_from_pipe (mypipe[0]); return EXIT_SUCCESS; } else if (pid < (pid_t) 0) { /* The fork failed. */ fprintf (stderr, "Fork failed.\n"); return EXIT_FAILURE; } else { /* This is the parent process. */ write_to_pipe (mypipe[1]); return EXIT_SUCCESS; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?