如何在C编程中获取当前时间(以毫秒为单位)

kk-*_*v11 13 c time.h

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

我们想要计算玩家完成游戏所花费的时间.但是对于time.h,我们只能在几秒钟内计算出来.但这并不准确.是否有可能以毫秒为单位获得时间?什么是%?打印到?

Alo*_*ave 19

在标准C中没有可移植的方法来获得不到一秒的分辨率所以你最好能做的就是使用POSIX函数gettimeofday().


Mus*_*ici 13

快速回答

#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;   
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为`clock`会产生使用的cpu时间,而不是实时. (20认同)
  • 这段代码尽管在某些系统上可能是正确的,但并不总是有效.您应该使用CLOCKS_PER_SEC而不是硬编码1000000. (17认同)