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

          APUE - File I/O (5)

          Posted on 2007-08-22 15:46 ZelluX 閱讀(372) 評論(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也有一定的不同。
          主站蜘蛛池模板: 衡水市| 浦东新区| 武定县| 平邑县| 波密县| 本溪市| 吉木萨尔县| 安乡县| 利辛县| 雅江县| 华宁县| 九龙城区| 明水县| 临沭县| 泌阳县| 离岛区| 久治县| 呈贡县| 鄂州市| 新化县| 吉安市| 阳原县| 绥江县| 惠安县| 锡林浩特市| 大石桥市| 台北市| 西平县| 阿合奇县| 永兴县| 天峻县| 姜堰市| 荔浦县| 天祝| 利津县| 沅江市| 沾益县| 江达县| 克拉玛依市| 保定市| 长春市|