Tag: 睡觉

怎么睡在c

可能重复: 除非换行符在格式字符串中,为什么printf在调用后不会刷新? 当我运行类似的东西 for (i = 1; i <= 10; i++) { sleep(1); printf("."); } 那么我所期望的是每秒一个点十次。 我得到的是十秒后十点。 为什么会如此,如何使程序每秒(或不同的时间间隔)实际打印一个点(或做其他事情)?

为什么printf()之后的行是对sleep()的调用,在打印之前执行?

我以为我在这里做了一些简单的事情,但C决定对我进行异步操作。 我不确定发生了什么事。 这是我的代码: #include int main() { printf(“start”); sleep(5); printf(“stop”); } 当我编译并运行时,我注意到sleep(5)就像魅力一样。 但是编译器决定跳过第一个printf()并且出现故障是个好主意,因此在运行时,程序会等待5秒然后打印startstop 。 这是怎么回事? 我的理论是程序用shell启动打印操作,然后继续执行程序,让Bash等到程序不再忙于实际渲染字符串。 但我真的不知道。 谢谢

未定义的“睡眠”参考,但我确实包括

嗯,这一定是个傻瓜。 下面是C中不可能更简单的代码。它不能编译说“未定义的睡眠引用”。 但我认为我包含了我需要的所有系统头… #include #include int main() { printf(“Test starts.\n”); sleep(1); printf(“Test ends.\n”); return 1; }