📄 pipe.c.texi
字号:
#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>/* @r{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);@}/* @r{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 /* @r{Create the pipe.} */ if (pipe (mypipe)) @{ fprintf (stderr, "Pipe failed.\n"); return EXIT_FAILURE; @}@end group /* @r{Create the child process.} */ pid = fork (); if (pid == (pid_t) 0) @{ /* @r{This is the child process.} */ read_from_pipe (mypipe[0]); return EXIT_SUCCESS; @} else if (pid < (pid_t) 0) @{ /* @r{The fork failed.} */ fprintf (stderr, "Fork failed.\n"); return EXIT_FAILURE; @} else @{ /* @r{This is the parent process.} */ write_to_pipe (mypipe[1]); return EXIT_SUCCESS; @}@}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -