создать дескриптор файла резервной копии? - PullRequest
1 голос
/ 06 мая 2010
  stdinBackup = 4;
  dup2(0, stdinBackup);

В настоящее время я делаю вышеописанное для резервного копирования стандартного ввода, чтобы его можно было восстановить из резервной копии позже, после перенаправления в другое место. У меня есть чувство, что я делаю много неправильно? (Например, произвольное назначение 4, безусловно, не правильно). Кто-нибудь указывает мне правильное направление?

1 Ответ

4 голосов
/ 06 мая 2010

Если вы просто хотите сделать общую копию для собственного использования, нет необходимости использовать dup2(). Просто используйте простой <a href="http://www.manpagez.com/man/2/dup2/" rel="nofollow noreferrer">dup()</a>:

#include <stdio.h>

int stdinBackup = dup(STDIN_FILENO);

Вам нужно использовать dup2(), только когда вы заботитесь о действительном значении дубликата.

См. здесь для определения символической константы STDIN_FILENO, что намного лучше, чем использование голого 0 в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...