您的位置:首页 > 移动开发 > 微信开发

一个计算开机时间的小程序

2012-07-30 20:44 218 查看
#include <iostream>
#include <windows.h>
using namespace std;
void main()
{
	DWORD tick;
	int i=0;
	while(true)
	{
		tick=GetTickCount();
		int hour=tick/1000/3600;
		int minute=tick/1000/60-hour*60;
		int second=tick/1000-hour*3600-minute*60;
		cout<<"开机时间是:"<<hour<<"时"<<minute<<"分"<<second<<"秒"<<endl;
		Sleep(1000);
	}
}

函数名称:GetTickCount

函数功能:返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD。  

函数原型: DWORD GetTickCount(void);

需要的头文件:windows.h

它还有一个作用就是计算程序运行的时间,方法是记录起始时间和终止时间,然后相减就可以了。而要记录的程序段就放在两个GetTickCout之间。举例如下:



#include <iostream>
#include <windows.h>
using namespace std;
void main()
{
	DWORD tick;
	int i=0;
	while(i<10000000)
	{
		i++;
	}
	cout<<GetTickCount()-tick<<endl;
}

注意事项:
GetTickcount函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD
GetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是232
ms约为49.71天,因此若系统运行时间超过49.71天时,这个数就会归0,MSDN中也明确的提到了:"Retrieves
the number of milliseconds that have elapsed since the system was started, up to 49.7 days."。因此,如果是编写服务器端程序,此处一定要万分注意,避免引起意外的状况。

我们同样可以使用clock来进行程序运行的计算。
函数名称:clock
函数功能:
返回处理器调用某个进程或函数所花费的时间。

函数用法: clock_t clock(void);

函数说明:clock_t其实就是long,即长整形。该函数返回值是硬件滴答数,要换算成秒或者毫秒,需要除以CLK_TCK或者
CLK_TCK CLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000,这表示硬件滴答1000下是1秒,因此要计算一个进程的时间,用clock()除以1000即可。
首先我们通过一个程序来说明问题:
#include <iostream>
#include <windows.h>
#include <time.h>
using namespace std;
void main()
{
	clock_t start,end;
	int i=0;
	start=clock();
	cout<<start<<endl;
	Sleep(10000);
	end=clock();
// 	cout<<end<<endl;
// 	Sleep(1000);
// 	cout<<clock()<<endl;;
	cout<<end-start<<endl;
}

运行结果:



0
10000
11000
10000
Press any key to continue
上面的程序实现了计算测试程序运行的时间。而注释掉的部分是让大家了解,在程序运行过程中,第一次使用clock时,它的初始值为0,以后每次调用该函数,都是在第一次的基础上进行的计算,所以第二次(end)的结果是1000,第三次的结果是1100(同样是在第一次的基础上进行的)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐