LARGE_INTEGER litmp
LONGLONG QPart1,QPart2
double dfMinus, dfFreq, dfTim
QueryPerformanceFrequency(&litmp)
dfFreq = (double)litmp.QuadPart// 获得计数器的时钟频率
QueryPerformanceCounter(&litmp)
QPart1 = litmp.QuadPart// 获得初始值
do
{
QueryPerformanceCounter(&litmp)
QPart2 = litmp.QuadPart//获得中止值
dfMinus = (double)(QPart2-QPart1)
dfTim = dfMinus / dfFreq// 获得对应的时间值,单位为秒
}while(dfTim<0.001)
其定时误差不超过1微秒,精度与CPU等机器配置有关。
×××××××××××××××××××××××××
sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.
比如,等待0.1秒:
sleep(100)
while(n!=0){
printf("%2d:%2d:%2d\n",n/3600,(n%3600)/60,n%60) //这里必须要有\n,不然,因为缓存的问题,系统默认输出是行缓存输出,在没有遇到回车换行时,缓存没有满时,数据会一直不能输出,加了回车,就可以输出了。
#include <unistd.h> // 头文件int usleep(useconds_t usec) // 函数原型usec -- 毫秒。整数。最大允许值:小于 1000000返回 0 -- 表示调用执行成功,1 -- 失败。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)