对于 windows,unix 环境中 c++ 中的 sleep() 是否可以与 Turbo C++ 中的 delay() 一样使用?

Can sleep() in c++ in unix environment be used as the same as delay() in Turbo C++ for windows?

在 Turbo C++ 中:

while(i<10)
{delay(100);
cout<<"*";
i++;}

将在 100 毫秒的固定间隔后打印“*”。如果我尝试在 UNIX 的 C++ 中做同样的事情,比如:

while(i<10)
{
sleep(1);
cout<<"*";
i++;}

它在 10 秒的单个间隔后一次打印 10 次“*”。

拜托,谁能解释一下为什么它不起作用。

因为cout经常默认缓冲。如果您想立即打印它,请冲洗它:

std::cout << "*" << std::flush;