stdinBackup = 4; dup2(0, stdinBackup);
Actuellement, je fais ce qui précède pour “sauvegarder” stdin afin qu’il puisse être restauré à partir de la sauvegarde ultérieurement après avoir été redirigé ailleurs. J’ai le sentiment que je me trompe beaucoup? (ex: atsortingbuer arbitrairement 4 n’est sûrement pas correct). Quelqu’un me dirige dans la bonne direction?
Si vous voulez juste faire une copie générale pour votre propre usage, il n’est pas nécessaire d’utiliser dup2()
. Il suffit d’utiliser un simple dup()
:
#include int stdinBackup = dup(STDIN_FILENO);
Vous devez uniquement utiliser dup2()
lorsque vous vous souciez de la valeur réelle du doublon.
Voir ici pour la définition de la constante symbolique STDIN_FILENO
, ce qui est bien mieux que d’utiliser un 0
nu dans le code.