ที่นี่ เราจะสร้างโปรแกรม C สำหรับไพพ์ใน Linux . ในโปรแกรมนี้ เราจะอ่านข้อความจากอินพุตสตรีมแล้วพิมพ์ไปที่หน้าจอเอาต์พุต
ขั้นแรก มาเรียนรู้พื้นฐานเกี่ยวกับ ท่อ . กัน ในลินุกซ์
ท่อ ใช้ในการถ่ายโอนข้อมูล สามารถใช้สำหรับการสื่อสารระหว่างกระบวนการ/ คำสั่ง/ โปรแกรมสำหรับการถ่ายโอนเอาต์พุตมาตรฐานระหว่างสองระบบในระบบ Linux หรือ Unix
สิ่งสำคัญประการหนึ่งที่ควรทราบคือไพพ์เป็นทิศทางเดียว กล่าวคือ ข้อมูลสามารถไหลจากซ้ายไปขวาหรือจากขวาไปซ้ายในโปรแกรม
ที่นี่ เราจะสร้างไพพ์ที่จะอ่านอินพุตจากผู้ใช้และพิมพ์ไปยังหน้าจอเอาต์พุต การใช้งานใช้อาร์เรย์ขนาด 2 ซึ่งใช้รับอินพุต arr[0] และส่งคืนเอาต์พุต arr[1]
โปรแกรม C สำหรับไพพ์ใน Linux
ตัวอย่าง
#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