用c语言实现大约半个小时的时间延迟

sleep()函数大概只能精确到50ms左右,
如果你要精确的定时的话可以使用QueryPerformanceFrequency()函数,用法为: 
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),
比如,等待1800秒: 
sleep(1800*1000);

你可能感兴趣的:(用c语言实现大约半个小时的时间延迟)