回车后命令行不会立即刷新 return

Command line doesn't refresh immidately after carriage return

我有一个代码可以执行与此类似的操作。

while(1){
      printf("Telegrams received %d\r",telegrams); //notice \r
      telegrams++;
      sleep(); // for 0.2s
}

此输出是正在更新的命令行中的一行。但是我的问题是,该行不会在每次电报后更新,而是每 17 次后更新......(大约需要 3 秒)。 有什么办法,如何使这项工作每 0.2 秒更改一次? (当我按下 enter 时,显示了所有内容...)

我 运行 在 raspberry pi 和 raspbian。

谢谢

找到答案 - 我需要在每个 printf 后使用 fflush(stdout)