1. 程式人生 > >linux dup2函式

linux dup2函式

一.概述

dup和dup2也是兩個非常有用的呼叫,它們的作用都是用來複制一個檔案的描述符。它們經常用來重定向程序的stdin、stdout和stderr。

二.標頭檔案

#include <unistd.h>

四.函式介面

int dup2(int fd, int fd2);
dup2函式成功返回時,目標描述符fd2將變成源描述符fd的複製品,換句話說,兩個檔案描述符現在都指向同一個檔案,即函式第一個引數fd指向的檔案。        

五.使用方法

重定向stdout
int fd;
fd = open("./log.txt",O_RDWR | O_CREATE,S_IRWXG);
close(1); //使用dup2時,如果引數fd2對應的檔案描述符已開啟,則要先關閉它
dup2( fd, 1 );
 這樣stdout就定向到了fd,即標準輸出會輸出到log.txt中