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. 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.
    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