C C 利用管道機制實現輸出重定向功能

2021-10-10 15:22:52 字數 679 閱讀 1931

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int main1()

return 0;}/*

* 1.新建乙個管道:mkfifo fifo

* 2.新開乙個終端,知道是那個終端號,再不同終端輸入who命令可以看到終端號:比如 /dev/pts/34

* 3.執行程式,然後再新建終端輸入命令 echo  /dev/pts/34 > fifo

* 4.輸出就會列印到34這個終端上

*/int main(int argc, char *ar**)

char buf[1024] = ;

int n;

///從管道中讀取資料儲存到buf中,

///如果新建的終端為34,則輸出內容: echo /dev/pts/34 > fifo  

if((n = read(outfd, buf, 1024)) > 0)

else

}while(1)

close(outfd);

return 0;

}

shell中輸入重定向,輸出重定向,管道

什麼是檔案描述符 1 程序中開啟乙個檔案就會有乙個檔案描述符 2 檔案描述符是乙個非負整數 3 系統為每乙個程序維護乙個檔案描述符表 程序級檔案描述符 4 同乙個程序裡面不同檔案描述符可以對應同乙個檔案 乙個檔案被開啟多次 5 不同程序的檔案描述符可以相同 不影響 可以指向同乙個檔案,也可以指向不同...

linux 管道符 輸出重定向

1 輸出重定向 ll a.txt 將 ll的結果寫入到a.txt 2 管道符 ls la grep h 這條命令的理解為 ls la 的結果作為gerp h 的結果 gerp 是強大的文字搜尋工具 他能使用正規表示式搜尋,grep 格式 主要引數 grep c 只輸出匹配的計數 grep i 不區分...

Linux的管道機制和重定向

1.管道機制 在linux中,管道是一種使用非常頻繁的通訊機制。從本質上說,管道也是一種檔案,但它又和一般的檔案有所不同,管道可以克服 使用檔案進行通訊的兩個問題,具體表現為 限制管道的大小。實際上,管道是乙個固定大小的緩衝區。在linux中,該緩衝區的大小為1頁,即4k位元組,使得它的大小不象文 ...