【发布时间】:2020-10-18 18:14:35
【问题描述】:
static void timeDelay(int no_of_seconds)
{
#ifdef _WIN32
Sleep(1000 * no_of_seconds);
#else
sleep(no_of_seconds);
#endif
}
void somefunction(){
printf("\t\t Load ... \n\t\t");
fflush(stdout);
for (int i = 1; i <= 60; i++)
{
fflush(stdout);
timeDelay(1);
if (i == 31)
printf("\n\t\t");
printf("*****");
}
}
我也包含了头文件:
#ifdef _WIN32
#include <windows.h>
#else
#include <unistd.h>
星星瞬间打印出来。
在看到答案here 后,我添加了fflush(stdout)。我还注释掉了if (i==31) {} 部分,以检查这是否导致了问题,但事实并非如此。那么我的代码有什么问题呢?
【问题讨论】:
-
无法重现。
-
@n.'pronouns'm。什么意思?
-
哪个版本不能按预期工作?
-
@WeatherVane 它一次打印所有的星星。
-
@Archer 好的!这是真的!我也一样!
标签: c sleep windows-subsystem-for-linux