我可以将二进制放入标准输入(stdin)吗?C#

13
2个回答

13
直接写入基础流:

new BinaryWriter(p.StandardInput.BaseStream)

3
或者使用 p.StandardInput.BaseStream.Write - John Saunders

3

stdin是另一个字节流,您的程序可以从中读取。

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

在你提到的问题中,从 stdin 输入的材料被从另一个程序的输出中传输。为了完成这一过程,你需要使用 Console.OpenStandardOuput() 获取流并通过该流推送二进制数据。


1
是的,但如果你正在处理二进制数据,你不应该使用派生自TextReaderStreamReader - John Saunders
1
是的--应该使用BinaryReader。 - Steve Gilham
也许是,也许不是。如果你只想处理字节,那么处理原始流就可以了。其他像BinaryFormatter这样的东西也会很有用 - 只是不要使用TextReader - John Saunders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接