【发布时间】:2015-06-10 07:29:04
【问题描述】:
在 D 中编写一个 CLI 工具,我有一个进度计数器,它是一个循环,并打印下一个以 \r 开头的数字。
这是一个显示问题的最小示例
import std.stdio;
import core.thread;
void main(string[] args) {
for (int i = 0; i < 10000; i++) {
write("\r", i);
Thread.sleep(msecs(1));
}
}
我注意到,至少 mac 终端会缓冲输出,一旦打印了换行符或打印了一定数量的字符,输出就会被刷新。
对我来说,这意味着计数器滞后且偶尔上升。
我的问题是, 如何在不打印换行符的情况下强制刷新输出缓冲区?
【问题讨论】:
-
更具体:您使用什么语言编写程序?你能给我们看一些示例代码吗?