<分区>
我一直在用 C 编写一个 Unix shell,并且我正在尝试实现输入和输出重定向。为此,我一直在使用 Dup2,并且能够做到这一点,因此我的输出重定向到一个文件,我的输入也被正确重定向。但是,在我完成这些之后,我如何返回到再次使用 Stdin 和 Stdout?
这些是我在需要重定向时运行的代码片段:
在:
inFile = open(tok.infile, O_RDONLY, 0);
inDup = dup2(inFile, STDIN_FILENO);
close(inFile);
输出:
outFile = creat(tok.outfile, 0644);
outDup = dup2(outFile, STDOUT_FILENO);
close(outFile);