Can i put binary in stdin? C#

2019-01-26 08:36发布

问题:

Related to this question encrypt binary with 7z without filenames?

In C# how can i put binary in STDin? i was hoping the below would work but it doesnt. And it makes sense. So how do i push a byte[] array?

new BinaryWriter(p.StandardInput.FormatProvider);

回答1:

Write directly to the base stream:


new BinaryWriter(p.StandardInput.BaseStream)


回答2:

stdin is just another byte stream, one your program can read from

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

etc. In the q. which you refer to, the material coming in from stdin is being piped from the output of another program. To do that part of the process, you use Console.OpenStandardOuput() to get a stream and push the binary out through that.