• <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>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            復制文件描述符

            Posted on 2009-08-24 10:01 Prayer 閱讀(825) 評論(0)  編輯 收藏 引用 所屬分類: C/C++LINUX/UNIX/AIX
            UNIX提供這種獨有的能力,使一個打開文件描述符可用做兩個(或多個)獨立文件描述符。此外,我們可能選取一個打開文件描述符,并使它對某個特定文件單元號可用(假若該號還未用)
             
            dup(2)和dup2(2)函數的句法如下:
            #include <unistd.h>
            int dup(int oldfd);
            int dup2(int oldfd, int newfd);
             
            在dup(2)的情形,成功時返回文件描述符是當前進程中可用的最低未用文件單元號。然而,對于dup2(2),在參數newfd中指定新的文件描述符值。當dup2(2)成功返回時,return值應與newfd匹配
             
            提示:
            在某些UNIX平臺上,dup(2)和dup2(2)調用可能返回錯誤EINTR(在SGI的IRIX6.5中說明)
             
            有一種情況,dup(2)在其中是有幫助的,就是在打開FILE流以利用現有的套接口時。下例取得套接口s并創建輸入流rx及另一個用于寫的tx流:
             
            int   s;                 /*open  socket*/
            FILE  *rx;               /*read stream*/
            FILE  *tx;               /*write steam*/
             
            ...
             
            rx=fdopen(s,"r");        /*open stream for reading on s*/
            tx=fdopen(dup(s),"w");   /*open stream for writing on s*/
             
            這里dup(2)調用之所以必要,是因為為了以后關閉rx流而進行調用ffclose(3)時,它也關閉文件描述符(套接口)s.  dup(2)調用保證tx流將具有自己要使用的文件描述符,而不管流rx是否仍然打開著。
             
            如果從例子中省略了dup(2),當對tx調用fclose(3)時,tx的緩沖匹中保存的最后數據將不能寫到套接口(假定rx已被關閉了)。原因是下層文件描述符已被關閉。dup(2)調用可以解決另外一個傷腦筋的問題。
             
            久久狠狠一本精品综合网| 久久亚洲日韩看片无码| 久久91综合国产91久久精品| 97久久超碰国产精品旧版| 一级做a爱片久久毛片| 久久久久综合中文字幕| 综合久久一区二区三区| 亚洲中文字幕久久精品无码APP| 91精品国产91久久综合| 精品无码久久久久久久久久| 国产精品久久久久蜜芽| 久久精品国产99国产精品澳门| 久久精品国产精品青草| 四虎国产精品成人免费久久| 久久精品国产亚洲AV电影| 久久久久国色AV免费看图片| 亚洲va国产va天堂va久久| 久久午夜综合久久| 久久婷婷五月综合色奶水99啪| 四虎国产精品免费久久5151| 午夜天堂av天堂久久久| 欧美精品福利视频一区二区三区久久久精品 | 国产A三级久久精品| 久久精品国产免费一区| 亚洲精品国精品久久99热一| 国产精品热久久毛片| 久久99国内精品自在现线| 久久AV无码精品人妻糸列| 久久精品无码一区二区三区免费| 久久精品水蜜桃av综合天堂| 精品久久久久久久久免费影院| 久久艹国产| 久久人人爽人人精品视频| 国产精品99久久久久久www| 久久综合狠狠色综合伊人| 久久久久久久久久久久中文字幕 | 久久精品成人欧美大片| 亚洲国产成人久久精品99| 久久国产成人| 久久久久这里只有精品 | 91精品国产91久久|