Mettre STDIN sur entrée clavier

Résolu
Sara426 Messages postés 782 Statut Membre -  
juliencolin54 Messages postés 238 Statut Membre -
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. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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.
    0
  2. juliencolin54 Messages postés 238 Statut Membre 55
     
    "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
    0