关于文件描述符的重定向,有三种方法,分别为dup(),dup2(),dup3()。

下面即为三种函数的原型,本文主要介绍前两种函数的使用。其中dup()接受一个参数,将旧的文件描述符重定向到新的文件中。

而dup2()接受两个参数,一个为新的文件描述符,另一个为旧的文件描述符。dup3()的原理同dup2()。

文件描述符的重定向_定向

 

下图是三种函数的相关描述:

文件描述符的重定向_定向_02

文件描述符的重定向_显示屏_03

这些函数的返回值为,成功则返回新的文件描述符,失败返回-1。

文件描述符的重定向_程序编写_04

进行dup()和dup2()的程序编写,其中注释的为dup()的相关语句。

本程序经过测试是正确的,会在相同目录下生成一个名为 log的文件,运行dup()函数后再显示屏上输入的内容全都写入log文件中。

文件描述符的重定向_显示屏_05