void printTime(){
}
LARGE_INTEGER limtp;
QueryPerformanceFrequency(&limtp);//获得当前的计数频率,即每秒进行多少次计数
QueryPerformanceCounter(&limtp);//获取当前计数次数
基于cpu级的
时间是
(计数获取计数次数 - 开始获取计数次数)/(用QueryPerformanceFrequency获取的limtp.QuadPart)
#include <time.h>
void main()
{
int i = 0;
clock_t start, finish;
float duration;
char buf[100] = "abcdefg";
start = clock();
//... do somethingbegin
for (i = 0; i< 90000000; i++)
{
memmove(buf + 2, buf + i % 7, 6);
}
//... do somethingend
finish = clock();
duration = (float)(finish - start)/CLOCKS_PER_SEC;
printf( "memmoveduration is %.3f s nn",duration);
}
C语言获取系统时间的几种方式
2009-10-20 14:30:26| 分类: 程序开发|字号 订阅
C语言中如何获取时间?精度如何?
1 使用time_t time( time_t * timer ) 精确到秒
2 使用clock_t clock() 得到的是CPU时间精确到1/CLOCKS_PER_SEC秒
3 计算时间差使用double difftime( time_t timer1, time_t timer0)
4 使用DWORD GetTickCount() 精确到毫秒
5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒
6 要获取高精度时间,可以使用
BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)
获取系统的计数器的频率
BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)
获取计数器的值
然后用两次计数器的差除以Frequency就得到时间。
7 Multimedia Timer Functions
The following functions are used with multimedia timers.
timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime
//*********************************************************************
//用标准C实现获取当前系统时间的函数
一.time()函数
time(&rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime中。
#include "time.h"
void main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "