可能性のある複製:
ANSI Cを使用してミリ秒単位で時間を測定する方法
ミリ秒の解像度でWindowsシステム時間を取得するにはどうすればよいですか
プレイヤーがゲームを終了するのにかかった時間を計算します。しかし、time.hでは数秒でしか計算できませんでした。しかし、それは正確ではありません。ミリ秒単位で時間を取得することは可能ですか?そして、何パーセントですか? printfに?
素早い回答
#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;
}
標準Cで1秒未満の解像度を取得するための移植可能な方法はないため、最善の方法は、POSIX関数gettimeofday()。
Unixライクなシステムを使用している場合は、gettimeofday
を使用し、結果をマイクロ秒からミリ秒に変換します。