ที่นี่ เราจะสร้างโปรแกรม 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