91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

popen函數的用法及注意事項

發布時間:2020-07-08 02:10:49 來源:網絡 閱讀:2256 作者:小楊楊雪松 欄目:編程語言

標準I/O庫提供了兩個函數popenpclose這兩個函數,它們的功能是創建一個連接到另一個進程的管道,然后讀其輸出或向其輸入端發送數據。先fork一個子進程,關閉未使用的管道端。

popen() 函數 用 創建管道 的 方式啟動一個 進程, 并調用 shell 因為 管道是被定義成單向的, 所以 type 參數 只能定義成 只讀或者 只寫, 不能是 兩者同時, 結果流也相應的 是只讀 或者 只寫

函數popen的原型:

   FILE* POPEN(const char* cmdstring,const char* type)

     若成功,返回文件指針,若出錯,返回NULL

函數popen先執行fork,然后調用exec執行cmdstring,并且返回一個文件指針,如果type是“r,則文件指針連接到cmdstring的標準輸出,如果type是“w,則文件指針連接到cmdstring的標準輸入。

下面是一個測試用例,簡單的用下這個函數:

  #include <stdio.h>

   #include <stdlib.h>                                       

   #include <unistd.h>

   #include <string.h>

   int main()

   {

       FILE *stream;

       FILE *wstream;

      

       char buf[1024];

       memset(buf,'\0',sizeof(buf));

   stream=popen("ls -l","r");//ls -a的命令通過管道讀取(r)stream

 

      wstream=fopen("myopen.txt","w+");//新建一個可寫的文件

      fread(buf,sizeof(char),sizeof(buf),stream);//stream中的數據流讀取到buf

      fwrite(buf,sizeof(char),sizeof(buf),wstream);//buf的數據寫到wstream

      fclose(wstream);

      pclose(stream);

      return 0;

  }   

 運行結果:

popen函數的用法及注意事項

 

                                                                                                                                                      

                                                                                                                                                                                                                                                                                                     

 

 

 

 

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田东县| 巫溪县| 揭东县| 北安市| 北碚区| 白玉县| 鄂伦春自治旗| 长宁区| 天气| 仁化县| 双辽市| 望都县| 金沙县| 潜江市| 厦门市| 吉隆县| 东丰县| 洛阳市| 久治县| 永安市| 惠州市| 清苑县| 定远县| 色达县| 陇川县| 河西区| 英吉沙县| 沙河市| 元氏县| 昌邑市| 海淀区| 固原市| 郴州市| 当阳市| 铁岭市| 花莲县| 津市市| 绥中县| 改则县| 明溪县| 正宁县|