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
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP