可能是重复的问题:
如何使用 ANSI C 测量毫秒时间?
如何以毫秒分辨率获取 Windows 系统时间?
我们想要计算玩家完成游戏所花费的时间。 但是使用 time.h 我们只能计算秒数。但这不够精确。是否可能获得毫秒级别的时间? 还有什么是用于 printf 的 %?
可能是重复的问题:
如何使用 ANSI C 测量毫秒时间?
如何以毫秒分辨率获取 Windows 系统时间?
我们想要计算玩家完成游戏所花费的时间。 但是使用 time.h 我们只能计算秒数。但这不够精确。是否可能获得毫秒级别的时间? 还有什么是用于 printf 的 %?
在标准的C语言中,没有可移植的方法可以获得低于一秒的分辨率。所以你最好使用POSIX函数gettimeofday()。
快速回答
#include<stdio.h>
#include<time.h>
int main()
{
clock_t t1, t2;
t1 = clock();
int i;
for(i = 0; i < 1000000; i++)
{
int x = 90;
}
t2 = clock();
float diff = ((float)(t2 - t1) / 1000000.0F ) * 1000;
printf("%f",diff);
return 0;
}
clock
иҝ”еӣһзҡ„жҳҜCPUжүҖдҪҝз”Ёзҡ„ж—¶й—ҙпјҢиҖҢдёҚжҳҜзңҹе®һж—¶й—ҙгҖӮ - cnicutar如果你在类Unix系统上,可以使用gettimeofday
函数,并将结果从微秒转换为毫秒。