如何在退出流程之前每秒在C中显示一个点?

Pro*_*Pro 1 c printf buffer sleep

我试图显示...(三个点),但每个点然后是第二个延迟,然后是第二个点,然后是第二个延迟,然后是第三个点.

我试过这个

for(int i = 0;i < 3;i++)
{
sleep(1);
printf(".");
sleep(1);
}
Run Code Online (Sandbox Code Playgroud)

但这只是等待了6秒然后将三个点打印在一起,但我不想要那样.有没有解决这个问题.我想要

.第二次延迟.第二次延迟.

但它会出现

...

Pho*_*reo 6

尝试:

#include <stdio.h>
#include <unistd.h>

int main() {
    for(int i = 0;i < 3;i++)
    {
        printf(".");
        fflush(stdout);
        sleep(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

printf()打印到stdout缓冲区.每次冲洗后冲洗缓冲液printf().

<< std::flush; 是C++的等价物.