Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

Linux의 파이프용 C 프로그램

<시간/>

여기에서 Linux의 파이프용 C 프로그램을 만듭니다. . 이 프로그램에서는 입력 스트림에서 일부 텍스트를 읽은 다음 출력 화면에 인쇄합니다.

먼저 파이프 에 대한 기본 사항을 알아보겠습니다. 리눅스에서

파이프 Linux 또는 Unix 기반 시스템에서 둘 사이에 표준 출력을 전송하기 위한 프로세스/명령/프로그램 간의 통신에 사용할 수 있습니다.

주목해야 할 한 가지 중요한 점은 파이프가 단방향이라는 것입니다. 즉, 데이터는 프로그램에서 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 흐를 수 있습니다.

여기에서 사용자의 입력을 읽고 출력 화면에 인쇄하는 파이프를 생성합니다. 구현은 입력 arr[0]을 사용하고 출력 arr[1]을 반환하는 데 사용되는 크기 2의 배열을 사용합니다.

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