• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            doing5552

            記錄每日點(diǎn)滴,不枉人生一世

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              73 Posts :: 0 Stories :: 94 Comments :: 0 Trackbacks

            公告

            常用鏈接

            留言簿(24)

            我參與的團(tuán)隊(duì)

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 455716
            • 排名 - 49

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             

            #include <stdio.h>

            FILE *popen(const char *command, const char *type);

            int pclose(FILE *stream);

            描述

            popen() 函數(shù) 用 創(chuàng)建管道 的 方式 啟動(dòng) 一個(gè) 進(jìn)程, 并調(diào)用 shell. 因?yàn)?管道 是被定義成 單向的, 所以 type 參數(shù) 只能 定義成 只讀 或者 只寫, 不能是 兩者同時(shí), 結(jié)果流 也相應(yīng)的 是 只讀 或者 只寫.

            command 參數(shù) 是 一個(gè) 字符串指針, 指向的 是 一個(gè) 以 null 結(jié)束符 結(jié)尾的字符串, 這個(gè) 字符串 包含 一個(gè) shell 命令. 這個(gè)命令 被送到 /bin/sh-c 參數(shù) 執(zhí)行, 即由 shell 來(lái)執(zhí)行. type 參數(shù) 也是 一個(gè) 指向 以 null 結(jié)束符 結(jié)尾的 字符串的指針, 這個(gè)字符串 必須是 'r' 或者 'w’ 來(lái)指明 是 讀還是寫.

            popen() 函數(shù) 的 返回值 是 一個(gè) 普通的 標(biāo)準(zhǔn)I/O流, 它只能用 pclose() 函數(shù) 來(lái)關(guān)閉, 而不是 fclose(). 函數(shù). 向 這個(gè)流 的 寫入 被轉(zhuǎn)化為 對(duì) command 命令的 標(biāo)準(zhǔn)輸入; 而 command 命令的 標(biāo)準(zhǔn)輸出 則是和 調(diào)用 popen(), 函數(shù) 的 進(jìn)程 相同,除非 這個(gè) 被command命令 自己 改變. 相反的, 讀取 一個(gè) “被popen了的” 流, 就相當(dāng)于 讀取 command 命令的 標(biāo)準(zhǔn)輸出, 而 command 的 標(biāo)準(zhǔn)輸入 則是和 調(diào)用 popen, 函數(shù)的 進(jìn)程 相同.

            注意, popen 函數(shù)的 輸出流 默認(rèn)是 被全緩沖的.

            pclose 函數(shù) 等待 相關(guān)的進(jìn)程 結(jié)束 并返回 一個(gè) command 命令的 退出狀態(tài), 就像 wait4 函數(shù) 一樣

            示例:
            #include <stdio.h>

            int main(int argc, char *argv[])
            {
                     char buf[128];
                     FILE *pp;

                     if( (pp = popen("ls -l", "r")) == NULL )
                     {
                             printf("popen() error!\n");
                             exit(1);
                     }

                     while(fgets(buf, sizeof buf, pp))
                     {
                             printf("%s", buf);
                     }
                     pclose(pp);
                     return 0;
            }

            posted on 2010-07-11 16:40 doing5552 閱讀(461) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲成色WWW久久网站| 青青热久久国产久精品| 粉嫩小泬无遮挡久久久久久| 99久久精品午夜一区二区| 久久精品国产69国产精品亚洲| 大香网伊人久久综合网2020| 久久91精品国产91| 国产精品成人无码久久久久久| 久久精品国产男包| 久久人人超碰精品CAOPOREN| 国产精品9999久久久久| 久久久www免费人成精品| 国产精品亚洲综合专区片高清久久久| 国产精品久久婷婷六月丁香| 国产激情久久久久影院老熟女免费 | 国产精品狼人久久久久影院| 久久亚洲春色中文字幕久久久| 久久av免费天堂小草播放| 久久午夜伦鲁片免费无码| 亚洲午夜精品久久久久久app| 亚洲国产精品婷婷久久| 久久国产精品一国产精品金尊| 日韩欧美亚洲综合久久| 亚洲精品国产第一综合99久久 | 精品久久久久久成人AV| 亚洲狠狠婷婷综合久久蜜芽| 国产精品乱码久久久久久软件| 欧美激情精品久久久久久久| 热RE99久久精品国产66热| 国产免费久久精品99久久| 大蕉久久伊人中文字幕| 精品国产婷婷久久久| 精品久久久久久无码人妻热| 94久久国产乱子伦精品免费| 色综合久久综合网观看| 成人国内精品久久久久影院VR| 国产精品日韩深夜福利久久| 久久综合久久伊人| 国产精品99久久久久久宅男小说| 久久成人小视频| 久久夜色精品国产噜噜亚洲AV|