1. 程式人生 > >linux c之通過popen和pclose函式建立管道執行shell 執行命令使用總結

linux c之通過popen和pclose函式建立管道執行shell 執行命令使用總結

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 效果是一樣的