我的程序每 100 毫秒打印一次.
(不带换行符)以指示进度。但是,当通过 ssh 在远程计算机上运行它时,在打印换行符之前我看不到输出。我在 Cygwin 和 Ubuntu 上尝试过。
有没有办法让 ssh 在行完成之前显示输出?
答案1
问题通常出在程序的输出缓冲上,或者更准确地说,出在程序使用的 IO 库或运行时上。特别是行缓冲。
无缓冲 IO 效率较低,这就是为什么默认情况下不使用它。
编程语言通常有一种指定无缓冲输出的方法。由于它通常取决于 STDOUT 所连接的内容,因此它也受操作系统环境设置的影响。
也可以看看标准缓冲区