我想测试是否有不同的循环处于活动状态,所以我有一个print语句,该语句在每个循环中每500ms重复一次,但是print语句不会每500ms打印一次,它会等到循环完成后才立即打印所有内容而不是定期。
如何使我的程序定期打印到终端?
我是一名学生,所以我对SDL的知识非常有限,因此请您详细解释。
int main(void)
{
int i = 0;
while(i<10)
{
printf("While loop active.\t"); i++;
SDL_Delay(500);
}
return 0;
}
P.S。我看到了重复的问题,但我不同意,因为他的问题表明存在“信号处理”问题,对此我一无所知,因此当我问这个问题时,我认为他的问题不会与我的问题有相同的答案。我接受给出的答案是一样的。
答案 0 :(得分:0)
您可能没有刷新标准输出。将新行添加到printf
调用中,您应该可以:
printf("While loop active.\n");
/* Here ------------------^ */
或者如果必须保留\ t:
printf("While loop active.\t");
fflush(stdout);
贷记@lurker以获取更多信息。