C++ 的延时函数
2017-03-04 03:53
846 查看
原博文链接在我的官方网站,网址是:http://www.aobosir.com/blog/2017/02/05/cpp-sleep/
我们使用
上面的程序执行的效果应该是:以一秒为单位打印
或者形参传入以微秒为单位(
我使用的是Qt5,在Qt5里面使用
如果你不在
Linux系统安装Boost库很简单,只需要执行:
我使用的是QT项目,所以我们需要在
或者:
参考网站:Sleep for milliseconds
更多精彩的博文,请访问:http://www.aobosir.com/
方法一
在Linux下,我们这样使用:#include <iostream> #include <unistd.h> int main(void){ while(1){ std::cout << "Hello World!" << std::endl; sleep(1); //单位是秒 } return 0; }
我们使用
#include <unistd.h>头文件里面的
sleep()函数,给这个函数传入的形参是以秒为单位的正整数。
上面的程序执行的效果应该是:以一秒为单位打印
Hello World!这个字符串。
或者形参传入以微秒为单位(
1000,000微秒 =
1秒)的数据:
usleep()函数的详细介绍:这里。
#include <iostream> #include <unistd.h> int main(void){ while(1){ std::cout << "Hello World!" << std::endl; usleep(1000000); //单位是微秒 1000000us = 1s } return 0; }
方法三
C++11里面,你可以这样使用:我使用的是Qt5,在Qt5里面使用
C++11,你需要在项目的
.pro文件里面添加下面的这句代码:
CONFIG += c++11
如果你不在
.pro文件中添加上面的这句代码,你就使用不了下面代码里面的
std::this_thread。
#include <iostream> #include <chrono> #include <thread> int main(void){ while(1){ std::cout << "Hello World!" << std::endl; std::this_thread::sleep_for(std::chrono::milliseconds(1000)); //单位是毫秒 } return 0; }
方法四
如果你使用了Boost库,那么你可以使用下面的代码实现延时的功能:
Linux系统安装Boost库很简单,只需要执行:
sudo apt-get install libboost-dev
我使用的是QT项目,所以我们需要在
.pro文件中,添加
boost库的头文件路径和链接文件的路径:
HEADERS += /usr/include/ LIBS += -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_thread
#include <iostream> #include <boost/thread/thread.hpp> int main(void){ while(1){ std::cout << "Hello World!" << std::endl; boost::this_thread::sleep( boost::posix_time::milliseconds(1000) ); //单位是毫秒 } return 0; }
或者:
boost::this_thread::sleep( boost::posix_time::seconds(1) ); //单位是秒
参考网站:Sleep for milliseconds
更多精彩的博文,请访问:http://www.aobosir.com/
相关文章推荐
- C\C++中计时、延时函数
- C++之延时函数的研究
- C++延时函数
- C++中延时函数
- C/C++ 延时函数 (标准库)
- linux和windows下,C/C++开发的延时函数,sleep函数
- C/C++ 延时函数 (标准库)
- C/C++ 延时函数
- C++ 的延时函数
- C++ 的延时函数
- C++之延时函数的研究
- C或C++调用Windows系统函数 实现延时 或 获取当前时间的处理
- C++中的延时函数
- linux和windows下,C/C++开发的延时函数,sleep函数
- C++中的延时函数
- 第二周项目1-C/C++语言中函数参数传递的三种方式
- 虚函数在C++上应用
- C++中函数重载机制询问
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法