#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 ...