C で Unix シェルを作成しており、入力と出力のリダイレクトを実装しようとしています。私はこれに 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);