2009-08-16 5 views

risposta

9

scrivere direttamente al flusso di base:


new BinaryWriter(p.StandardInput.BaseStream) 
+0

Oppure utilizzare 'p.StandardInput.BaseStream.Write'. –

2

stdin è solo un altro flusso di byte, un vostro programma in grado di leggere da

Stream st=Console.OpenStandardInput(); 
StreamReader sr=new StreamReader(st); 

ecc Nel q. a cui si fa riferimento, il materiale in arrivo da stdin viene collegato tramite l'output di un altro programma. Per fare quella parte del processo, usi Console.OpenStandardOuput() per ottenere uno stream e spinga il binario fuori attraverso quello.

+1

Sì, ma se hai a che fare con i binari, non si vuole utilizzare 'StreamReader', che è derivato da' TextReader'. –

+1

Sì - dovrebbe essere BinaryReader. –

+0

Beh, forse o forse no. Se vuoi solo trattare i byte, allora trattare con il flusso raw va bene. Anche altre cose come 'BinaryFormatter' saranno utili - non solo un' TextReader'. –