Linux 中用于管道操作的 C 语言程序


接下来,我们将创建一个在 Linux 中用于管道操作的 C 语言程序。在此程序中,我们将从输入流中读取一些文本,然后将其打印到输出屏幕上。

首先,让我们了解 Linux 中管道的基本知识。

管道用于传输数据,可用于过程/命令/程序之间的通信,以便在基于 Linux 或 Unix 的系统中传输两个管道间的标准输出。

需要注意的一件重要事情是管道是单向的,即数据可以从左向右流动或从右向左流动。

在此,我们将创建一个管道来读取用户输入并将其打印到输出屏幕。该实现采用大小为 2 的数组,用于获取输入 arr[0] 和返回输出 arr[1]。

Linux 中用于管道操作的 C 语言程序

示例

 实时演示

#include <errno.h>
#include<string.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
int main(){
   int Pipe[2];
   char string[100];
   if (pipe(Pipe) == -1){
      perror("Filed to create pipe");
      exit(1);
   }
   scanf("%s", string);
   write(Pipe[1], string, strlen(string)+1);
   printf("\n");
   read(Pipe[0], string, 5);
   printf("%s", string);
}

输出

input: TutorialsPoint
TutorialsPoint

更新时间:17-7-2020

2K+ 次浏览

开启 职业生涯

通过完成此课程获得认证

开始
广告