Mettre STDIN sur entrée clavier

Résolu
Bonjour,

Je voudrais remettre STDIN sur la saisie au clavier.

Quand j'exécute mon programme je le lance avec < :
par exemple : ./prog < test

Du coup mon STDIN change et j'ai un problème avec les scanf après.

Comment est-ce que je peux rechanger le STDIN pour repartir sur l'entrée au clavier ?

Cordialement,
Sara.

2 réponses

  1. "cela signifie que tu fais une redirection de stdin sur le fichier test"
    plutôt
    "Cela signifie que tu redirige ton fichier dans l'entrée standard (stdin)"

    Ainsi si :
    ?> cat test
    ls
    cd
    ls

    Quand tu lanceras ton programme c'est comme si tu avais tappé toi même dans stdin les commandes l'une après l'autre.

    Donc
    ./prog
    ls\n
    (...)
    cd\n
    (...)
    ls\n
    (...)

    <=>
    ./prog < test
    1. Contributeur
      Bonjour,
      Cela n'a rien à voir avec le C, il s'agit du comportement normal du shell.
      Tu mets < test, cela signifie que tu fais une redirection de stdin sur le fichier test. Si tu enlever ce comportement, il te suffit de faire : ./prog tout simplement.