简单用法:
#include <unistd.h>
#include <iostream>
int main()
{
std::cout << usleep(20 * 1000) << std::endl;
return 0;
}
用g++ main.cpp
编译。可执行文件退出,立即打印0
表示未检测到错误。那怎么了?
答案 0 :(得分:2)
实际上,您传递给usleep()的参数以微秒为单位。因此,在20毫秒内程序将退出。您可以改为传递20 * 1000000,也可以使用chrono库。
#include <iostream> // std::cout, std::endl
#include <thread> // std::this_thread::sleep_for
#include <chrono> // std::chrono::seconds
int main()
{
std::cout << "countdown:\n";
for (int i=10; i>0; --i) {
std::cout << i << std::endl;
std::this_thread::sleep_for (std::chrono::seconds(1));
}
std::cout << "Lift off!\n";
return 0;
}