13

可能重复:
如何使用 ANSI C 以毫秒为单位测量时间?
如何获得毫秒分辨率的 Windows 系统时间?

我们想要计算玩家完成游戏所花费的时间。但是使用 time.h 我们只能以秒计算。但这并不准确。是否有可能以毫秒为单位获得时间?百分比是多少?打印?

4

3 回答 3

20

在标准 C 中没有可移植的方法来获得小于一秒的分辨率所以最好的办法是使用 POSIX 函数gettimeofday()

于 2011-12-19T08:16:14.587 回答
14

快速回答

#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;   
}
于 2011-12-19T08:16:14.707 回答
1

如果您使用的是类 Unix 系统,请使用gettimeofday并将结果从微秒转换为毫秒。

于 2011-12-19T08:16:38.750 回答