posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          APUE - File I/O (5)

          Posted on 2007-08-22 15:46 ZelluX 閱讀(368) 評論(0)  編輯  收藏 所屬分類: LinuxC/C++
          1. dup和dup2函數
          #include <unistd.h>
          int dup(int filedes);
          int dup2(int filedes, int filedes2);
          // Both return: new file descriptor if OK, -1 on error

          dup返回的file descriptor(以下簡稱fd)為當前可用的最低號碼,dup2則指定目的fd,如果該fd已被打開,則首先關閉這個fd。
          dup后兩個fd指向相同的file table entry,這意味著它們共享同一個的file status flag, read, write, append, offset等。

          事實上,dup等價于
          fcntl(filedes, F_DUPFD, 0);

          dup2和也類似于
          close(filedes2);
          fcntl(filedes, F_DUPFD, filedes2);
          但這不是一個原子操作,而且errno也有一定的不同。
          主站蜘蛛池模板: 简阳市| 衡东县| 麻江县| 盐池县| 吕梁市| 恩施市| 娱乐| 平度市| 北海市| 峡江县| 岳阳县| 綦江县| 泌阳县| 松阳县| 左权县| 高平市| 江达县| 施甸县| 周宁县| 镇赉县| 普定县| 昔阳县| 汉阴县| 浙江省| 乐东| 兴山县| 天津市| 武冈市| 清原| 聊城市| 南投市| 塔河县| 京山县| 永清县| 睢宁县| 贵阳市| 凤庆县| 惠东县| 天全县| 长沙市| 鄄城县|