gpt4 book ai didi

c# - STDIN/STDOUT 是一次刷新所有数据还是一个字符一个字符地刷新数据?

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:22 25 4
gpt4 key购买 nike

我正在使用 C# 读取另一个程序的 STDOUT。如果我这样做:

StreamReader reader = process.StandardOutput;
reader.ReadToEnd();

是否保证将最后的内容全部刷新到程序的 STDOUT 中?或者有点像 TCP,我必须有一个消息终止符或长度 header ?

最佳答案

默认情况下 StandardOutput 是缓冲的,这意味着您可能会从另一端获得完整的消息(或多个完整的消息)。但这并不能真正保证,尤其是因为您正在读取的进程可能已经改变了 StandardOutput 的缓冲。

消息终止符是最好的解决方法。尽管通常进程通过 StandardOutput 进行通信,但一切都是基于行的,因此简单地使用换行符作为消息终止符可能是最简单和最常见的起点。

关于c# - STDIN/STDOUT 是一次刷新所有数据还是一个字符一个字符地刷新数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com