Mettre STDIN sur entrée clavier

Résolu
Sara426 Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   -  
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   -
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.

A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
juliencolin54 Messages postés 217 Date d'inscription   Statut Membre Dernière intervention   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