linux c之通過popen和pclose函式建立管道執行shell 執行命令使用總結
阿新 • • 發佈:2019-02-06
1、函式介紹
popen 和 pclose 函式
操作是建立一個管道連結到另一個程序,然後讀其輸出或向其輸入端傳送資料。標準 I/O 庫提供了兩個函式 popen 和 pclose 函式,這兩個函式實現的操作是:建立一個管道,呼叫 fork 建立一個子程序,關閉管道的不使用端,執行一個 shell 以執行命令,然後等待終止。
API
/* popen 和 pclose 函式 */ /* * 函式功能:建立一個管道連結到另一個程序,實現管道資料傳輸; * 函式原型: */ #include <stdio.h> FILE *popen(const char *cmdstring, const char *type);//返回值:若成功則返回檔案指標,若出錯則返回NULL; int pclose(FILE *fp);//返回值:cmdstring的終止狀態,若出錯則返回-1; /* * 說明: * cmdstring是要執行的 shell 命令; * type引數有如下取值: * (1)type = "r" 檔案指標連線到cmdstring標準輸出; * (2)type = "w" 檔案指標連線到cmdstring標準輸入;
2、程式碼展示
3、執行結果
我們知道 程式執行的效果和 我們用命令 ls -al | grep scanf 效果是一樣的