![]() |
1
17
只需将stdout设置为C程序开始时的行缓冲(在执行任何输出之前),如下所示:
或
任何一个都可以在Linux上工作,但是
默认情况下,stdout将为管道或文件进行块缓冲,或为终端进行行缓冲。在这种情况下,由于stdout是一个管道,因此默认值将被块缓冲。如果缓冲区是块缓冲的,则当缓冲区已满或调用
|
![]() |
2
8
你需要的是你的C程序在每一行后调用fflush(stdout)。例如,使用gnu grep工具,可以调用选项“--line buffered”,这会导致此行为。见 fflush . |
![]() |
3
6
|
![]() |
4
1
所有的unix shell(我知道)都是通过一个pty以外的东西来实现shell管道的。
(通常,它们使用Unix管道!),因此,C/C++运行时库
所讨论的“shelloid”可以用python(或c、tcl或…)编写,使用
$shelloid'cpp_程序python_程序.py'
当然,通过写作来提供“点解决方案”会更容易。
|
![]() |
5
1
你可能想试试
|
![]() |
6
-1
好吧,这听起来可能很愚蠢,但可能会奏效: 将PGM输出到文件
开发一个从tail命令读取的python程序
|