How to get the current time in milliseconds in C Programming [duplicate]

StackOverflow https://stackoverflow.com/questions/8558625

  •  20-03-2021
  •  | 
  •  

質問

Possible Duplicate:
How to measure time in milliseconds using ANSI C?
How can I get the Windows system time with millisecond resolution?

We want to calculate the time which a player have taken to finish the game. But with time.h we could only calculate in seconds. but that is not exact. Is it possible to get the time in milliseconds? and what is the %? to printf?

役に立ちましたか?

解決

quick answer

#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;   
}

他のヒント

There is no portable way to get resolution of less than a second in standard C So best you can do is, use the POSIX function gettimeofday().

If you're on a Unix-like system, use gettimeofday and convert the result from microseconds to milliseconds.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top