我正在尝试用c#编写一个快速的cgi应用程序.我需要到stdout流并写一些二进制数据.我唯一能找到的就是Console.Write,它接受文本.我也试过了
Process.GetCurrentProcess().StandardOutput.BaseStream.Write
Run Code Online (Sandbox Code Playgroud)
这也不起作用.这甚至可能吗?
Edw*_*vey 13
哇,这个问题在5年内没有得到回答.浏览次数:1800次.
OpenStandardOutput()自.Net 4.0以来就已存在
using (Stream myOutStream = Console.OpenStandardOutput())
{
myOutStream.Write(buf, 0, buf.Length);
}
Run Code Online (Sandbox Code Playgroud)
类似以下内容(用记事本编写的非常快速的示例):
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
public class MyObject {
public int n1 = 0;
public int n2 = 0;
public String str = null;
}
public class Example
{
public static void Main()
{
MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "Some String";
BinaryFormatter formatter = new BinaryFormatter();
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
sw.AutoFlush = true;
Console.SetOut(sw);
formatter.Serialize(sw.BaseStream, obj);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3292 次 |
| 最近记录: |