Tu ne peux pas car en fait stdin et stdout correspondent plus ou moins au même fichier, l'un étant ouvert en lecture, l'autre en écriture. Le fait de voir ce que tu écris dans le terminal, ca ne signifie en aucun cas que tout est envoyé sur stdout. Ce n'est en fait pas du tout le cas.
De plus, printf équivaut à un fprintf sur stdout, celui-ci étant bufferisé. Donc pour être sûr qu'on voit le prompt qui demande le mot de passe, il faut flusher avant de demander le mot de passe.
Enfin la méthode classique pour demander des mots de passe, quand on est sur un terminal, c'est d'utiliser les fonctions déclarées dans le fichier termios.h. Je la fais courte dans un petit programme d'exemple (sans malloc, toussa ...):
# pas la bonne méthode
Posté par left . En réponse au message Masquer stdout puis réafficher.. Évalué à 3.
De plus, printf équivaut à un fprintf sur stdout, celui-ci étant bufferisé. Donc pour être sûr qu'on voit le prompt qui demande le mot de passe, il faut flusher avant de demander le mot de passe.
Enfin la méthode classique pour demander des mots de passe, quand on est sur un terminal, c'est d'utiliser les fonctions déclarées dans le fichier termios.h. Je la fais courte dans un petit programme d'exemple (sans malloc, toussa ...):