程序間通訊系列(5)標準庫中的管道操作

2021-07-30 20:25:00 字數 672 閱讀 6310

#include

file *popen(const char *cmdstring, const char *type);

返回值:成功返回檔案指標,出錯返回null

int pclose(file *fp);

返回值:cmdstring的終止狀態,出錯返回-1

使用popen()建立的管道必須使用pclose()關閉。其實,popen/pclose和標準檔案輸入/輸出流中的fopen()/fclose()十分似。

示例**:

#include #include #include int main(int argc, char const *argv)

pclose(fp);

printf("-----------------------------------------\n");

//為wc命令提供統計的資料

fp = popen("wc -l", "w");

//向fp指向的結構體快取中寫入資料

fprintf(fp, "1\n2\n3\n");

pclose(fp);

exit(0);

}

程序間的管道通訊

管道是程序間通訊的一種工具。1 管道是半雙工的,建立管道後,只能由乙個程序向另乙個程序傳資料。2 管道只能在有公共祖先的兩個程序之間使用。父程序建立管道後,fork,這個管道就能在父子程序之間呼叫了。管道通過pipe函式建立。pipe int fd 2 要開啟兩個檔案,檔案描述符放在fd裡面。寫資料...

匿名管道 程序間的通訊

匿名管道 匿名管道是一種未命名的 單向管道,通常用來在乙個父程序和乙個子程序之間傳輸資料。匿名的管道只能實現本地機器上兩個程序間的通訊,而不能實現跨網路的通訊。1.1匿名管道 匿名管道是一種未命名的 單向管道。通常用來在父程序和子程序之間傳輸資料。匿名管道總是本地的,不能在網路之間傳遞資料。1.1....

程序間的通訊 管道

首先,對於程序間的通訊,訊號,管道和共享記憶體,訊號適用於及其微量的資訊,管道是程序間通訊的大動脈,共享記憶體是用於大型的軟體。管道式單向的,先進先出,我們先講無名管道,其中管道程式設計api是pipe,api的功能是建立乙個無名管道,成功則為陣列分配兩個檔案描述符 include include ...