0

我正在尝试将以下 python 代码转换为 C#

sys.stdout.write(struct.pack('I', len(message)))
sys.stdout.write(message)
sys.stdout.flush()

我需要 C# 程序输出到控制台。尝试了以下方法,但 C# 和 python 程序的输出不同 - struct.pack 部分似乎搞砸了。

Stream stdout = Console.OpenStandardOutput();
stdout.WriteByte((byte)message.Length);
Console.Write(message);

知道如何解决吗?谢谢!

4

1 回答 1

0

所以结果是 struct.pack 输出了 3 个额外的空字符,这弄乱了结果。

这是有效的代码:

Stream stdout = Console.OpenStandardOutput();
stdout.WriteByte((byte)message.Length);
stdout.WriteByte((byte)'\0');
stdout.WriteByte((byte)'\0');
stdout.WriteByte((byte)'\0');
Console.Write(message);

丑陋,但工作:)

于 2013-10-11T01:11:50.930 回答