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

          APUE - File I/O (5)

          Posted on 2007-08-22 15:46 ZelluX 閱讀(368) 評論(0)  編輯  收藏 所屬分類: Linux 、C/C++
          1. dup和dup2函數(shù)
          #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)為當(dāng)前可用的最低號碼,dup2則指定目的fd,如果該fd已被打開,則首先關(guān)閉這個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也有一定的不同。
          主站蜘蛛池模板: 南汇区| 平山县| 富顺县| 兴国县| 电白县| 阿克陶县| 许昌县| 游戏| 互助| 灵山县| 天祝| 同江市| 新巴尔虎左旗| 璧山县| 通江县| 南乐县| 北京市| 贡山| 乃东县| 东方市| 宣武区| 衡东县| 绍兴市| 太白县| 仁布县| 侯马市| 巴青县| 乌拉特前旗| 丰镇市| 汕尾市| 石林| 瓦房店市| 兴国县| 德阳市| 汕头市| 米泉市| 刚察县| 固安县| 密云县| 保亭| 兴和县|