Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C cho pipe trong Linux


Tại đây, chúng ta sẽ tạo một chương trình C cho pipe trong Linux. Trong chương trình này, chúng ta sẽ đọc một số văn bản từ luồng đầu vào và sau đó in ra màn hình đầu ra.

Trước tiên, hãy tìm hiểu cơ bản về pipe trong Linux.

Pipe được sử dụng để truyền dữ liệu, có thể dùng để giao tiếp giữa các tiến trình/lệnh/chương trình để chuyển đổi đầu ra chuẩn giữa hai tiến trình trong hệ thống Linux hoặc Unix.

Một điểm quan trọng cần lưu ý là pipe là đơn hướng, tức là dữ liệu chỉ có thể chảy từ trái sang phải hoặc từ phải sang trái trong chương trình.

Ở đây, chúng ta sẽ tạo một pipe đọc đầu vào từ người dùng và in ra màn hình đầu ra. Triển khai sử dụng một mảng kích thước 2 được dùng để nhận đầu vào arr[0] và trả về đầu ra arr[1].

Chương trình C cho pipe trong Linux

Ví dụ

#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("Không thể tạo pipe");       exit(1);    }    scanf("%s", string);    write(Pipe[1], string, strlen(string)+1);    printf("\n");    read(Pipe[0], string, 5);    printf("%s", string); }

Đầu ra

input: TutorialsPoint TutorialsPoint