2009-07-25 8 views
0

J'ai un problème avec stdout et stdin .when je stocke des données en utilisant stdout je ne peux pas récupérer les mêmes données en utilisant stdin. alors s'il vous plaît aidez-moi comment puis-je résoudre mon problème. RamEntrée et sortie standard en c

+0

Publiez d'abord votre code source. – akway

+6

Oh mon dieu! Vous semblez avoir totalement mal compris stdin et stdout - stdin est l'endroit où vous obtenez des caractères d'entrée normaux - ce qui est normalement le clavier. stdout est où la sortie de texte normale va (printf et similaires) et est normalement définie sur une fenêtre de terminal sur votre écran. Ils peuvent être redirigés vers d'autres appareils ou fichiers, mais ils sont normalement différents dispositifs ou fichiers - pourquoi écrire à l'un vous permet de lire à partir de l'autre? Je pense que nous devons savoir ce que vous essayez de faire. – Dipstick

+0

Sur certains * nix, vous pouvez réellement écrire sur stdin à partir de votre programme et il est ajouté à la vapeur, mais ce n'est pas portable ou une bonne idée vraiment. –

Répondre

2

Les données que vous écrivez dans stdout ne seront pas automatiquement disponibles pour stdin. Les données écrites dans le flux stdout peuvent être lues par n'importe quel processus connecté à ce flux. Normalement, c'est le terminal ou la console où le programme a été démarré. Il peut également s'agir d'un autre processus qui a été connecté au premier via un canal ou qui peut être un fichier lorsque la redirection a été utilisée.

Si vous voulez lire les données de votre programme a écrit à stdout via stdin sur une course ultérieure, vous pouvez utiliser comme cette redirections

$ program > data.out 

stockera tout ce qui est écrit dans stdout dans le fichier data.out. Ensuite,

$ program < data.out 

... fera le contenu de data.out à la disposition du programme stdin

S'il vous plaît poster votre code et une description plus détaillée de ce que vous essayez de faire si ce n » t ce que vous essayiez d'accomplir.

Questions connexes